Einzelnen Beitrag anzeigen

Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Objekt als published property

  Alt 7. Sep 2006, 09:57
Zitat von Angel4585:
Allerdings kommt immer die Meldung "Zugriffsverletzung bei Adresse 00000000" wenn ich das mache, also ich vermute das ich das noch irgendwo erzeugen muss, weis jetzt allerdings nicht wo. Im constructor cer Kompo bringt das irgendwie nichts...
Man, man Angel. Du bist mir ja einer...


Eine AV an 0 bedeutet schlicht dass deine Variable auf nüschts (in Delphi nil genannt) zeigt.
Du hast also eine Property:
Delphi-Quellcode:
fSomeValue : TSomeType
property SomeValue : TSomeType read fSomeValue;
Natürlich musst du erst etwas in fSomeValue reinwerfen.
Der Constructor der Klasse wäre eine Möglichkeit dafür, aber besser wäre es AfterConstruction zu überschreiben: Dann klappt es mit jedem Constructor:
Delphi-Quellcode:
procedure DeineKlasse.AfterConstruction;
begin
  inherited;
  fSomeValue := TSomeType.Create();
end;
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat