![]() |
Kein Zugriff auf öffentliche Methoden eines Objekts
Hallo zusammen,
ich versuche mir gerade, ein indiviudelles Hint zu basteln, in dem z.B. auch Bilder angezeigt werden können. Es funktioniert sogar, aber eine Sache verstehe ich nicht: Wieso findet der Compiler nicht die von mir hinzugefügten Elemente, wenn ich von Außen darauf zugreifen will? Er zeigt stets nur die Basismethoden von THintWindow an. Also z.B. der Zugriff auf "Image" wird verweigert, bzw. als "undefiniert" bezeichnet. Obwohl es doch "public" ist. So hab ich das Ganze aufgebaut:
Delphi-Quellcode:
type
TMyHintWindow = class(THintWindow) private FImage: TImage; protected procedure paint; override; public MaxWidth: integer; property Image : TImage read FImage write FImage; constructor Create; destructor destroy; override; end; // In TForm dann: MyHint: TMyHintWindow // Dies funktioniert nicht Form1.MyHint.Image.... <- Image sei undefiniert Gibt mir doch bitte mal en Tipp, vielleicht hab' ich ja auch grad en Brett vorm Kopf... Dank und Gruß Pfoto |
Re: Kein Zugriff auf öffentliche Methoden eines Objekts
Hai Pfoto,
bei mir geht es. Allerdings habe ich den Constructor angepasst da der Constructor von THindWindow mit Create (aOwner : TComponent) deklariert ist.
Delphi-Quellcode:
Und im Programm dann:
type
TMyHintWindow = class(THintWindow) private FImage: TImage; protected procedure Paint; override; public MaxWidth: integer; property Image : TImage read FImage write FImage; constructor Create (aOwner : TComponent); destructor Destroy; override; end; { TMyHintWindow } constructor TMyHintWindow.Create (aOwner : TComponent); begin inherited Create(aOwner); end; destructor TMyHintWindow.Destroy; begin inherited; end; procedure TMyHintWindow.Paint; begin inherited; end;
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin MyHint := TMyHintWindow.Create (self); MyHint.Image := Image1; end; |
Re: Kein Zugriff auf öffentliche Methoden eines Objekts
Mein Code hat danach leider immer noch nicht funktioniert,
aber Du hast mir trotzdem geholfen, denn das Problem war ganz simpel (und doof): :pale: Ich habe in meinem tatsächlichen Code (anders als ich oben beschrieben hatte), MyHint von der Basisklasse abgeleitet:
Delphi-Quellcode:
Dann kann natürlich kein Image gefunden werden... :wall:
MyHint: THintWindow;
Das passiert mir garantiert nicht wieder... Dank und Gruß Pfoto |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz