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}