Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eigene Komponente: Bitmap Property (https://www.delphipraxis.net/113627-eigene-komponente-bitmap-property.html)

Fussball-Robby 11. Mai 2008 22:58


Eigene Komponente: Bitmap Property
 
Hey,
vorerst: Gesucht und ausprobiert habe ich jetzt schon über zwei Stunden, jetzt bin ich es Leid :?
Also. Ich schreibe eine Komponente (abgeleitet von TComponent), die hat als Property eine Bitmap. Jetzt gibts ein Problem: Die Bitmap wird im Create der Komponente erstellt. Das Create wird aber anscheinend nicht (wie ich erst dachte) ausgelöst, wenn ich die Komponente auf die Form ziehe, sondern erst beim Programmstart. Wähle ich jetzt im OI ein Bitmap aus, gibts ne AV. Auch die Setter-Methode wird beim laden der Bitmap aus dem OI nicht ausgelöst.
Ich weiß also nicht, wie ich die Bitmap vorher erzeugen soll.
Hoffe, mir kann jemand helfen, bin mit den Nerven gerade ziemlich am Ende :roll:

NickelM 11. Mai 2008 23:10

Re: Eigene Komponente: Bitmap Property
 
Vieleicht musst du die Notification Prozedure überschreiben.

Wie das jetzt geht weiß ich nicht, da ich nicht so auf VZL spezalisiert bin :oops:

Muetze1 12. Mai 2008 00:14

Re: Eigene Komponente: Bitmap Property
 
1. Der Constructor wird auch im Designmode definitiv ordentlich ausgelöst. So lange du den Constructor auch ordentlich überschreibst und nicht verdeckst, klappt das alles einwandfrei.
2. TBitmap hat eine OnChange Property, diese kannst du nutzen um auf Änderungen zu reagieren.
3. Du brauchst definitiv einen Setter für die Bitmap Property in der du die Assign() Methode aufrufst. Ansonsten lässt du dir deine Instanzenvariable zerschiessen (z.B. wenn du im OI die Bitmap mit ENTFERNEN löscht und mit ENTER bestätigst, dann wird der Setter mit NIL aufgerufen)

Zitat:

Zitat von NickelM
Wie das jetzt geht weiß ich nicht, da ich nicht so auf VZL spezalisiert bin :oops:

Was ist VZL?

NickelM 12. Mai 2008 00:54

Re: Eigene Komponente: Bitmap Property
 
Sorry meine VCL verschrieben :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz