Thema: Delphi String zu PAnsiChar

Einzelnen Beitrag anzeigen

Berni68

Registriert seit: 9. Jan 2006
Ort: Villingen
162 Beiträge
 
Delphi XE5 Professional
 
#1

String zu PAnsiChar

  Alt 21. Mär 2010, 19:05
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?
Bernhard
  Mit Zitat antworten Zitat