Delphi-Quellcode:
var
c: PCHAR;
[...]
procedure TForm1.Button1Click(Sender: TObject); //Übergabe des "Original-Strings"
begin
c := pchar(edit1.text)
end;
procedure TForm1.Button2Click(Sender: TObject); //Sollte der "Orig.-String" ausgegeben werden (auch bei Änderung)
begin
edit2.Text := c
end;
Ich habe einen String (hier Edit1.Text) und einen Zeiger (hier c).
Jetzt muss ich ab und zu auf den String zugreifen (soll 'ne art Parser werden).
Problem: Der String kann/sollte sich ändern (zwischen den einzelnen Zugriffen), möchte aber nicht immer der "Parser-Routine" den String übergeben müssen.
Bei obigen Code-Beispiel kommt aber unerwartetes Zeugs raus -> es fehlt ein Zeichen (aber auch nicht immer).
-> Ich bekomme nicht den String, den ich benötige (nur Teile davon)
Einfachste Variante: ich nehm statt PCHAR einfach einen String und fertig is die Laube, aber, wenn sich mein "Original-String" ändert, erstellt Delphi automatisch einen NEUEN String (mit dem alten Inhalt) - das will ich aber nicht.
Was soll ich tun?
Kurz: In meinem Beispiel sollen Edit1.Text und Edit2.Text IMMER gleich sein (wenn man Button2Click ausführt)
Ich hoffe, ihr versteht mich und mein Problem und könnt mir helfen