Hallo, auch auf die Gefahr hin, daß ich langsam nerve,
aber ich hab es noch nicht kapiert,
die folgende einfache Prozedur zeigt mein Problem:
Delphi-Quellcode:
procedure TTestForm.Test2Click(Sender: TObject);
var
s: TStrings;
i:integer;
x: array of PAnsiChar;
begin
s:= TStringList.Create;
s.Add('#0#');
s.Add('#1#');
s.Add('#2#');
SetLength(x, 3);
for i:=0 to 2 do x[i]:= PAnsiChar(AnsiString(s[i]));
for i:=0 to 2 do showmessage(x[i]); // liefert: #2# #2# #2# WARUM ???????????????????ß
x[0]:='##0##';
x[1]:='##1##';
x[2]:='##2##';
for i:=0 to 2 do showmessage(x[i]); // -> liefert: ##0## ##1## ##2##
Finalize(x);
s.Free;
end;
PAnsiChar(AnsiString(s[i])) war das bisherige Fazit, ist aber offensichtlich nicht richtig oder nicht ausreichend.
Wie bekommt man die Strings von s in das array?