Habe in der
DLL eine Funktion (meine eigene Explode-Funktion). Da geteilten Strings möchte ich dann in ein Array packen und von da aus an die Hauptanwendung schicken. Meine Explode-funktion (auszug):
Delphi-Quellcode:
for i:=0 to sl.Count-1 do
begin
for j:=StrToInt(sl2.Strings[i]) to StrToInt(sl.Strings[i])-1 do
begin
s:=s+p[j];
end;
SetLength(Content, i);
content[i]:=s;
end;
....
if Assigned(Buffer) then
begin
StrLCopy(Buffer, PChar(content), BufferLen);
end;
result:=length(s);
Hatte vorher den String "s" übergeben und das hat alles supeer funktioniert. Nur ich weiß nicht, wie ich die Speicheranforderung per Array machen soll. So hatte ich den Speicher für den String "s" angefordert (Anwendung)
Delphi-Quellcode:
len:=Explode(nil, PChar(Source), PChar(Separator), 0);
try
GetMem(Buffer, len+1);
len:=Explode(Buffer, PChar(Source), PChar(Separator), len+1);
s:=String(Buffer);
finally
FreeMem(Buffer);
end;
Danke!