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 probleme

    1. 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ührt

    die 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


Anmelden zum Antworten