Thema: Delphi Zeiger TList

Einzelnen Beitrag anzeigen

Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Zeiger TList

  Alt 18. Okt 2005, 14:34
Moin,

ich würd dir raten die StringListe nicht von der procedure erstellen zu lassen, da somit die besitzverhältnisse nicht klar sind. Das würd ich nur tun, wenn du diese procedure ausdrücklich als fabrik-function kennzeichnest, was sich dann im namen widerspiegeln sollte, wie zb. CreateTokenList.

ich würds also so tun:
Delphi-Quellcode:
procedure TForm1.GetTokenList(Command, Separator : string; Tokens : TStrings);
var
  sTmp : string;
  sCurrentToken : string;
  iPos : Integer;
  iResult : Integer; // anzahl der token
  iRest : Integer;
  pTmp : Pointer;
begin
  // erstmal prüfen ob die liste gültig ist
  if not Assigned(Tokens) then
    raise Exception.Create('Tokens must be assigned!');
  // und dann damit arbeiten
  ...
end;

{ @@@@ Borland kram}

procedure TForm1.BtnGetTokenClick(Sender: TObject);
var
  tokens:TStringList;
begin
  tokens:=TStringList.Create;
  try
    // da sparst du dir auch noch jede menge blöd kram ;)
    GetTokenList(Edit1.Text, tokens);
    MemResult.Lines.AddString(Tokens);
  finally
    tokens.free;
  end;
end;

//PS: die nervigen präfixe kannst du in delphi ruhig weglassen, da sie durch die strenge typisierung völlig überflüssig sind. Das ist nur so ne historisch angewohnheit von den c-typen
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat