debug/release probleme (mal wieder)
-
ich hab ne mfc dll und will aus nem konsolenprogramm funktionen aufrufen und klasseninstanzen erstellen
im debug modus klappts
im release hab ich in ein paar probleme1. die klasse besitzt mehrere cstrings,declareserial,implementserial,serialize,konstruktor(initialisiert die cstrings mit leeren strings),standarddestruktor und is abgeleitet von cobject
problem: beim zerstören bleibt das programm im destruktor des cstrings hängen(bei FreeData(GetData());)
2. die klasse hat mehrere zeiger, die im konstruktor auf 0 gesetzt werden
wenn ich nach dem erzeugen sofort wieder den destruktor aufrufe hat einer der zeiger den nicht initialisierten wert 0xcdcdcd was zu absturz führtdie this zeiger adressen stimmen bei beiden aufrufen überein und dazwischen passiert nix
vielleicht hab ich aber auch mfc nich sauber eingebunden oder irgendwelche initaufrufe für mfc vergessen?
-
*schubs*
-
*schieb*
-
Sovok schrieb:
2. die klasse hat mehrere zeiger, die im konstruktor auf 0 gesetzt werden
0 oder NULL ?
-
NULL
ausserdem is das problem jetzt noch bei einer meiner anderen dlls im releasemodus aufgetaucht
hab dort mal alle cstrings gegen strings ausgetauscht aber das problem bleibt das selbe... ich mach da wohl irgendwo n riesen bockmist... hab nur keine ahnung wo
-
Hast Du beide Quelltexte(aufrufendes Programm und DLL) im gleichen Modus (DEBUG, RELEASE) compiliert?
Hast Du evt. nach dem Erstellen des Programms die DLL nochmal verändert und neu erstellt?DJohn
-
überprüfe doch mal ob die zeiger vorhanden sind!(in der dll)
-
das problem tritt besonders auf wenn die beiden in unterschiedlichen modi kompiliert wurden? worin besteht dabei genau das problem(welche einstellungen können sich verkeilen und warum?
bei problem 1 gibts keine zeiger