Fenster über DLL öffnen
-
jeanlebon schrieb:
Wenn du ein Fenster erstellen willst brauchst du doch nicht die hInstance von der DLL sondern vom Aufrufenden Programm.
warum ?
MSDN schrieb:
Handle to the instance that contains the window procedure for the class.
-
Probier es einfach aus, wenn es nicht klappt oder es dir nicht gefällt, kannst du ja natürlich auch noch die Funktion DllMain ausprobieren. Diese Funktion liefert beim Laden der Dll die HINSTANCE der Dll und du kannst sie dann auch benutzen.
-
jeanlebon schrieb:
kannst du ja natürlich auch noch die Funktion DllMain ausprobieren. Diese Funktion liefert beim Laden der Dll die HINSTANCE der Dll und du kannst sie dann auch benutzen.
ist äquivalent zu
HINSTANCE hInstance = (HINSTANCE)GetModuleHandle(NULL);
-
HINSTANCE hInstance = (HINSTANCE)GetModuleHandle(NULL);das liefert aber nur das instance handle der exe
-
Hi Leutz,
Fehler 1813 siehe http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/system_error_codes__1700-3999_.asp
Liegt wahrscheinlich and der Resouce-Datei selbst, er findet sie halt nicht!

Habe versucht die dialog.res einzubinden(Visual C++ 6.0)
Projekt->Einstellungen->Linker->Objekt-/Bibliotheks-Module
nun dialog.res eingegeben ...
LinkerFehler dialog.res kann nicht geöffnet werden!( is ja auch kein *.LIB)
Habe das hier noch gefunden http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sakSDK/sak_creating_a_resource_dll.asp
komme aber nit ganz so mit Punkt 1 und 2 zurecht und die ganzen Linkereinstellungen verwirren mich ein bisschen ... .
Da ich diese nicht in Linkereinstellungen und co im Compiler finde.
mfg Shark85
-
Shark85 schrieb:
Fehler 1813 siehe http://msdn.microsoft.com/library/default.asp?url=/library/en-us/debug/base/system_error_codes__1700-3999_.asp
Liegt wahrscheinlich and der Resouce-Datei selbst, er findet sie halt nicht!

Habe versucht die dialog.res einzubinden(Visual C++ 6.0)
Projekt->Einstellungen->Linker->Objekt-/Bibliotheks-Module
nun dialog.res eingegeben ...
LinkerFehler dialog.res kann nicht geöffnet werden!( is ja auch kein *.LIB)
Versuch es mal so: Seitlich auf Ressourcendateien (rechtsklick) und dann auf "Dateien zu Ordner hinzufügen..."
-
Hi Leutz,
@flenders
Unter welchen Ordner? Hab mich mal für "Ressourcendateien" entschieden und die dialog.res eingefügt!
LINK : fatal error LNK1104: Datei "dialog.res" kann nicht geoeffnet werden
mfg Shark85
-
Shark85 schrieb:
Habe das hier noch gefunden http://msdn.microsoft.com/library/default.asp?url=/library/en-us/sakSDK/sak_creating_a_resource_dll.asp
der link bezieht sich doch auf embedded, ich denke nicht das dieses richtig für dich ist. oder?
-
Shark85 schrieb:
Unter welchen Ordner? Hab mich mal für "Ressourcendateien" entschieden und die dialog.res eingefügt!
Ich hatte es doch schon geschrieben: Seitlich auf Ressourcendateien (rechtsklick)
Shark85 schrieb:
LINK : fatal error LNK1104: Datei "dialog.res" kann nicht geoeffnet werden

Du musst das Ressource-Script (.rc) nicht die schon kompilierte Ressource (.res) hinzufügen

-
@fenders
Das habe ich wohl übersehen!
Es kommt zwar kein Fehler mehr beim erzeugen aber funzen tut es immer noch nit, also dwErr hat immer noch 1813 als wert!
PS: hatte dialog.rc schon im Ordner Quellcodedateien, macht das einen Ünterschied??
Der Fehler hält sich wirklich hartnäckig!

Hat jemand 'ne Idee?

-
Shark85 schrieb:
Der Fehler hält sich wirklich hartnäckig!

Ist logisch, da Du den Fehler nicht versuchst zu entfernen, da Deine Vermutung falsch ist.
Gib doch mal als hInstance
(HINSTANCE)GetModuleHandle("NameDerDll.dll");an, wie in der MSDN steht...
MSDN schrieb:
Pointer to a null-terminated string that contains the name of the module (either a .dll or .exe file). If the file name extension is omitted, the default library extension .dll is appended.
-
Hi Leutz,
@Hepi
SUPER es funzt danke!

Englisch ist leider nicht eine meiner Stärken, das soll sich aber bald ändern!mfg Shark85
PS: danke nochmal an alle die mir geholfen haben!
