FindClassHInstance
-
In meiner Komponente lade ich aus einer Resource verschiedene Bitmaps:
MyBmp->LoadFromResourceName(FindClassHInstance(__classid(TMyButton)), "EIN");
Wenn ich meine Anwendung mit Laufzeitpackages kompiliere, funktioniert's. Wenn ich nicht mit Laufzeitpackages kompiliere, erhalte ich die Fehlermeldung "Resource 'Ein' nicht gefunden". Kann mir das jemand erklären? Ich möchte nicht jedesmal, wenn ich die Komponete verwende, auch noch die Resourcendatei dem Projekt hinzufügen.
Vielen Dank für Eure Hilfe.
Rob'
-
probiere mal statt LoadFromResourceName mit LoadFromResourceID die resource zu laden...
statt FindClassHInstance(__classid(TMyButton)) kannst du auch folgendes verwenden DWORD(HInstance)...
-
Das verstehe ich nicht: Es ist ja nicht so, daß die Resource überhaupt nicht gefunden wird. Die Resourcen werden beim Kompilieren ohne Laufzeitpackages nicht mit in die Anwendung gelinkt. In der bpl-Datei sind die Bitmaps enthalten. Die Frage ist jetzt, wie ich den Builder dazu bringe, die Bitmaps mit in die Anwendung zu linken. Das Dilemma könnte ich umgehen, indem ich die Resource manuell dem Projekt hinzufüge. Das möchte ich jedoch nicht, da die Resource eigentlich schon über die Komponente bekannt sein müßte. Die Header-Dateien, die die Komponente selbst benötigt, muß ich ja auch nicht noch einmal dem Projekt hinzufügen. Und wieso kann ich statt FindClassHInstance auch HInstance verwenden. Die liefern doch beide unterschiedliche Werte. Und wieso nach DWORD casten? LoadFromResourceName verlangt einen int-Wert.
Rob'