Einzelnen Beitrag anzeigen

gmc616

Registriert seit: 25. Jun 2004
Ort: Jena
627 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Verständnisfrage: String nach Pointer kopieren

  Alt 30. Jan 2013, 15:47
Das geht so nicht.
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;
  Mit Zitat antworten Zitat