Hallo, ich bin etwas verzweifelt, da ich folgendes Problem weder verstehen noch lösen kann.
Ich habe eine Komponente programmiert, die unter anderem eine Eigenschaft Icon wie in folgender Beispielklasse implementiert:
Damit tritt folgendes Problem auf: Wenn ich das Package mit dieser Komponente in einem Testprojekt im selben Projektverzeichnis einbinde, eine Komponenteninstanz, z.B. mit Namen ClTest, auf einer Form plaziere und im Objektinspector die Eigenschaft editiere, bekomme ich wie zu erwarten das Anwendungicon der Test.exe angezeigt. Wenn ich ein anderes Icon über den Objektinspecotr zuweise, wird dies dort korrekt geladen und auch in die dfm der Testform geschrieben.
Starte ich die Test-Exe jedoch, wird nicht der Wert ClTest->Icon.data aus der DFM gelesen, sondern die Eigenschaft enthält immer noch das Anwendungs-Icon aus der Initialisierung im Konstrukor.
Nun wird es ganz komisch: Ich binde das Package in ein Projekt ein und plaziere die Komponente auf einer Form des Projekts, daß ganz woanders liegt. Das Verhalten zur DesignTime ist gleich, wenn ich jedoch das Projekt kompiliere und starte bekomme ich noch beim Konstrukoraufruf der TForm-Basisklasse meiner Projektform den Fehler "Fehler beim Lesen von ClTest->Icon.data: Ungültiger Pfad für Eigenschaft".
Andere Properties, die Strings oder numerische Werte kapseln, funktionieren jedoch einwandfrei.
Ich arbeite mit BCB 5 Prof.
Nach 3 Tagen Inet und Durchforsten diverser Foren bin ich inzwischen komplett verzweifelt und würde mich über hjede Hilfe freuen.
Danke vorab, Sven
Ich habe eine Komponente programmiert, die unter anderem eine Eigenschaft Icon wie in folgender Beispielklasse implementiert:
Code:
class TBeispiel : pulblic TComponent { private: TIcon * FIcon; protected: virtual void __fastcall SetIcon( TIcon* AIcon ) { if ( FIcon ) FIcon->Assign( AIcon ); } public: __fastcall TBeispiel( TComponent AOwner ) : TComponent( AOwner ) { FIcon = new TIcon(); // Grundinitialiserung des Icons FIcon->Assign( Application->Icon ); } __fastcall ~TBeispiel() { if (FIcon) delete FIcon; } __published: __property TIcon * Icon = {read=FIcon, write=SetIcon }; };
Starte ich die Test-Exe jedoch, wird nicht der Wert ClTest->Icon.data aus der DFM gelesen, sondern die Eigenschaft enthält immer noch das Anwendungs-Icon aus der Initialisierung im Konstrukor.
Nun wird es ganz komisch: Ich binde das Package in ein Projekt ein und plaziere die Komponente auf einer Form des Projekts, daß ganz woanders liegt. Das Verhalten zur DesignTime ist gleich, wenn ich jedoch das Projekt kompiliere und starte bekomme ich noch beim Konstrukoraufruf der TForm-Basisklasse meiner Projektform den Fehler "Fehler beim Lesen von ClTest->Icon.data: Ungültiger Pfad für Eigenschaft".
Andere Properties, die Strings oder numerische Werte kapseln, funktionieren jedoch einwandfrei.
Ich arbeite mit BCB 5 Prof.
Nach 3 Tagen Inet und Durchforsten diverser Foren bin ich inzwischen komplett verzweifelt und würde mich über hjede Hilfe freuen.
Danke vorab, Sven
Comment