Einzelnen Beitrag anzeigen

Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#4

Re: Dynamisches Array von DLL übergeben

  Alt 4. Dez 2006, 21:32
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!
  Mit Zitat antworten Zitat