Probleme mit Konstanten aus der Resource.h



  • Martin Richter schrieb:

    AFX_MANAGE_STATE drin?

    Ich verwende eine MFC-Erweiterungs-Dll, da ist das glaub ich nicht angebracht...


  • Mod

    Stimmt. Bei einer Erweiterungs DLL sollte in der Liste der DLLs gesucht werden. Gibt es evtl. ein Duplikat der ID zur Anwednung?



  • Martin Richter schrieb:

    Stimmt. Bei einer Erweiterungs DLL sollte in der Liste der DLLs gesucht werden. Gibt es evtl. ein Duplikat der ID zur Anwednung?

    Ich hab jetzt ein neues Projekt angelegt und diesem einen anderen Namen gegeben. Dann hab ich den Quellcode in die entsprechenden Klassen reinkopiert und jetzt ist das Problem weg. Hab dafür keine Erklärung. 😕


  • Mod

    Ich hatte Dir nur raten können in den MFC Code zu debuggen und zu sehen wo er denn wirklich sucht nach dem Template...



  • Martin Richter schrieb:

    Ich hatte Dir nur raten können in den MFC Code zu debuggen und zu sehen wo er denn wirklich sucht nach dem Template...

    Wie debuggt man eine dll stand alone? Das habe ich noch nie gemacht...


  • Mod

    Nicht stand alone. Das geht nicht. Eine DLL benötigt immer einen Prozess.

    Entweder attached Du Dich an den Prozess, der die DLL laden wird und debuggest dort (der muss ja keine Debug-Infos haben).
    Oder Du gibst den Prozess direkt bei den Debug Optionen an im DLL Projekt.



  • So, hab jetzt den letzen Schliff gemacht. Werde das mal mit dem Debug ausprobieren...



  • Habe allerdings doch abschließend noch eine Frage: ich habe jetzt die DLL im Release-Build im Zielprojekt eingebunden. Jetzt läuft diese Variante aber nur, wenn ich die Anwendung auch als Release kompiliere. Muss ich für den Debug-Modus auch eine DLL im Debug-Modus bereitstellen? Denn das läuft komischerweise auch...


  • Mod

    Ja!
    Die Klasseninterfaces zwischen Debug und Relwase sind gravierend. CObject hat ja zusätzlich noch eine Dump und IsValid (oä) als virtuelle Funktionen.
    new und delete ín der Debug Version funktionieren komplett anders...



  • Martin Richter schrieb:

    Ja!
    Die Klasseninterfaces zwischen Debug und Relwase sind gravierend. CObject hat ja zusätzlich noch eine Dump und IsValid (oä) als virtuelle Funktionen.
    new und delete ín der Debug Version funktionieren komplett anders...

    Ja ok, das sieht man ja auch schon an der Dateigröße. Unterscheidet sich denn die .lib der entsprechenden Release-Funktion von der aus der Debug-Version?

    Ich hab mal mein Projekt wie im Artikel ( http://mm-werkstatt.informatik.uni-augsburg.de/documents/tutorials/struktur2005.pdf ) umgestellt. Leider zieht er trotzdem nicht automatisch die richtige DLL, da die Libs scheinbar gleich sind. Wie macht ihr die Projekte bei Verwendung von DLLs für Debug/Release fit?


Anmelden zum Antworten