Objekt zu groß ?



  • Hallo,

    ich habe ein Projekt was läuft und die erweiterte Version die einen
    verflixten Fehler aufweist.

    Ich habe eine Klasse CApp von der ein globales Objekt oApp ertsellt wird.
    Die ObjektDatei im funktionstüchtigen Projekt ist 119kB, in der fehlerträchtigen Erweiterung 165kB.

    Das Projekt verwendet eine DLL. Die DLL baut eine Verbindung zu einem Server auf. Im erweiterten Projekt funktioniert das nicht mehr, die DLL wurde nicht geändert ! Es kommt ein TimeOut, der Server ist garantiert erreichbar.

    Nun hatte ich gestern noch das Projekt auf das nötigste Reduziert um dem Fehler
    auf die Schliche zu kommen, dabei trat der Effekt auf, daß bevor WinMain aufgerufen wurde bereits ein C00...005 Speicherfehler kam.

    Ein Versuch das Objekt nicht gloabl anzulegen, sondern dynamisch zu erzeugen
    und einen globalen Zeiger zu verwenden brachte auch nichts.

    Die Klasse CApp hat einige Zeiger auf RecordObjekte welche mit new erzeugt werden. Den Konstruktoren werden zum Teil sehr lange Stringkostanten übergeben.

    Irgendwie habe ich das Gefühl, irgendwo wird der Speicher ungewollt überschrieben. Könnte das an den Konstanten liegen ?
    ( #define SHEMA_PREFERENCES "nrdev I, login I, nrma I, nrma_ext I, nrpat I, nrtour I, callfrom I, idxlk I, idxep I, idxarzt I, idxvital I, idxtxt I, lastform I, dstart I, tstart I, tstop I, tblock I, tstopweg I, tbeg I, tsbeg I, tsend I, weg I, planung I, done I, keysoff I, notiz C(254), notizhdr C(64), autoweg I, view_cf I, view_datum I, todo_cf I, sz_cf I, sz_goto I, sz_islstg I, sz_isarzt I, lk_cf I, lk_mode I, lk_add I, patdata_cf I, angdata_cf I, arzt_cf I, sync_cf I, ma_cf I, txt_cf I, txt_mode I, vital_cf I, bilanz_cf I, lage_cf I, dbname C(32), dbusr C(32), dbpwd C(32), datum I, ep I, ma I, res I, mode I, ip0 I, ip1 I, ip2 I, ip3 I, url C(254)"
    )

    Mir wird wohl nicht übrig bleiben als die Erweiterung Stück für Stück neu zu bauen ... 😡

    Hat jemand einen anderen Tip ?

    Vielen Dank.

    MfG
    RB



  • Vielleicht auf den ersten Blick keine Hilfe:

    Versuch deine zukünftigen Projekte anders zu designern das ist ja fubar 😃



  • ja aber ein globales AnwendungsObjekt ist doch ok ... oder nicht
    Die Mfc macht es doch auch so und es geht ... leider 😃

    MfG
    RB


Anmelden zum Antworten