Mit IStrings geht das viel einfacher/schöner:
Delphi-Quellcode:
uses StdVCL, AxCtrls;
var myStrings:IStrings;
myStringList:TStringList;
//mystringList erstellen und füllen
//transfer TStrings to IStrings
GetOleStrings(myStringList,myStrings);
//hier kann man jetzt myStrings.add oder mystrings.count oder mystrings.Item in der EXE und in der DLL benutzen
//es wird dadurch immer die myStringList verändert.
Und will man aus dem IStrings-Interface eine eigene Klasse kopieren gibt es "SetOleStrings".
Edit:
Ein konkretes Beispiel mit einer Stringliste eines Memos. Ich habe also ein Formular mit einem Button und ein Memo und folgendem Click-Event des Buttons:
Delphi-Quellcode:
uses StdVCL, AxCtrls;
procedure TForm1.Button1Click(Sender: TObject);
var x:IStrings;
begin
getolestrings(memo1.lines,x);
x.Add('Text');
end;
Die Zeile mit dem x.Add kann ich eben auch problemlos in einer
DLL machen. Das x kann ich einfach übergeben.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.