Q: (Newbie) PChar and StrDestroy

Warning: I am very new to Delphi.

I have a routine that needs to pass a String to a procedure that expects a
PChar.  

I have set it up as such:

procedure TNewConn.IpportRead(Sender: TObject; Socket: TSocketBase);
var
pLine: PChar;
begin
  StrIncoming:=strIncoming + (Ipport.Conn as TStreamSocket).Text;
 if Pos(#10,StrIncoming) > 0 then
   begin
   pLine:=StrAlloc(Length(strIncoming));
   StrPCopy(pLine,strIncoming);
   Term.ProcessControlCodes(Term,pLine,StrLen(pLine));
   StrIncoming:='';
   end;
end;

As near as I can tell, I should be calling StrDestroy(pLine) at the end as
well, but doing so causes intermittent Access Violations.  Taking it out
fixed the problem, but will I think have a Memory Leak or problems down the
road?
--
Kathleen MacMahon (s...@together.net)
http://www.rahul.net/galen/index.html