Das habe ich gemerkt. Ist für mich auch irgendwie schlüssig.
Das wird vor allem spannend, wenn sData länger als sStr ist.
Dachte ich auch. Interessanterweise beschwert sich Delphi _nicht_ mit längeren sData. Überschreibt er einfach. Ich hätte zumindest mit einer Schutzverletzung gerechnet, sonst knallst hier bei mir ja auch an allen Ecken und Enden, aber nix^^
Was willst du denn machen?
Nun ja, im Prinzip genau das.
Ich habe einen Zeiger auf einen String, genauer auf ein StringProperty einer Klasse.
Dazu habe ich einen Editor gebastelt, der den Inhalt der Property ändern soll. Da der Editor den Namen der Property nicht kennt (nicht kennen kann!), gebe ich ihm den Zeiger auf die Property.
Anschließend soll der Editor den Inhalt auf den der Zeiger zeigt ändern. Mehr nicht.
Delphi-Quellcode:
// PseudoCode !!!
TEditClass = class (TObject)
public
Property ID : Integer;
end;
TArtikel = Class (TEditClass)
public
Property Name : WideString
End;
...
var
MyArtikel : TArtikel;
...
MyArtikel := TArtikel.create;
...
fktCallEditor (MyArtikel,PWideChar (MyArtikel.Name));
procedure TEditor.SetValue (AEdit : TObject ; APointer : Pointer; AText : string);
begin
if AEdit is TEditClass then
fktCopy(APointer,AText);
end;