![]() |
Kompenente funktioniert zur Laufzeit aber nicht im Designer
Hi...
Es ist schon mehrere Delphi-Versionen her, dass ich zuletzt eine eigene Komponente entwickelt hab. Jetzt ist es mal wieder so weit. Ich hab mir, wie früher, eine Klasse von TPanel abgeleitet und daraus eine eigene Komponente erstellt. Wenn ich das Objekt zur Laufzeit erstelle funktioniert sie super aber jetzt will ich sie im Formulardesigner verwenden und es klemmt.
Delphi-Quellcode:
Ich brüte da schon den ganzen Nachmittag drüber. Irgendwie gehen mir die Ideen aus.
type
TContentPanel = class(TPanel) private FTitleImage: TImage; [..] public constructor Create(AOwner: TComponent); [..] procedure SetParent(AParent: TWinControl); override; [..] constructor TContentPanel.Create(AOwner: TComponent); begin inherited; [..] FTitleImage:=TImage.Create(self); FTitleImage.Parent:=Self; [..] end; procedure TContentPanel.SetParent(AParent: TWinControl); begin inherited; [..] if Assigned(FTitleImage) then // an dieser Stelle scheint FTitleImage nicht zu existieren begin FTitleImage.Parent:=Self; FTitleImage.Picture.LoadFromFile('c:\xxx\test.png'); FTitleImage.Stretch:=true; FTitleImage.Proportional:=false; FTitleImage.OnMouseDown:=TitleMouseDown; FTitleImage.OnDragOver:=TitleDragOver; end; [..] end; Gruß, Toni |
AW: Kompenente funktioniert zur Laufzeit aber nicht im Designer
Den Constructor musst Du override deklarieren. ;-)
|
AW: Kompenente funktioniert zur Laufzeit aber nicht im Designer
Im Ernst? Dann fliegt mir das ganze Ding um die Ohren... Hab isch doch sonst nich gemacht *wunder*
|
AW: Kompenente funktioniert zur Laufzeit aber nicht im Designer
Zitat:
|
AW: Kompenente funktioniert zur Laufzeit aber nicht im Designer
Ach so. Ja gut, das mach ich ja nicht so oft (also in etwa gar nie). Dann hab ich auch nichts gesagt :-D
Ist auch so. Hab alles auskommentiert was nicht unbedingt erforderlich ist um ein Panel auf dem Form zu zeichen und siehe da... Kaum macht mans richtig schon funktionierts. Der Fehler (das um die Ohren fliegen) liegt also ganz wo anders. Ich danke euch. Muss nun erstmal debuggen... Toni |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:07 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