dynamisches Array



  • Wieso ist die Struktur so vorgeschrieben? Umwandlung von String zu Char: c_str(); (Klassenmethode von string/AnsiString)



  • Die Struktur ist Bestandteil einer XDR-Übertragung. Das heißt ein Rechner- und Systemunabhängiger Datenaustausch wird per LAN durchgeführt. Die Struktur wird durch Softwaretools (RPC-Gen) aus einer X-Datei erzeugt, in der die Datentypen und strukturen festgelegt werden. Diese Dateien werden unter allen Anwendern ausgetauscht, die die Daten nutzen wollen. Leider kommen wir erst jetzt in die Reihe der Nutzer und müssen uns an den Gegebenheiten orientieren.

    Evi48



  • HI,

    überprüfe, wann der Fehler kommt. bzw. wie Groß i dann ist

    übrigens wäre:

    delete [] Fehlermel.fehlerliste.fehlerliste_val[i].fehlertext;
    

    nicht besser ?



  • Das ist richtig, aber die Version erzeugt leider den gleichen Fehler.

    Evi48



  • ich hab nciht behaubtet, das damit der Fehelr behoeben ist 😉

    wie groß ist i, wenn der Fehler auftritt ?



  • Hallo,

    Deine Fehlerliste ist um 1 zu klein.
    siehe

    Fehlermel.fehlerliste.fehlerliste_val = new fehler_rt[ErrList->usAnzFehler-1]; 
        // Textfelder generieren 
        for (i = 0; i < ErrList->usAnzFehler; i++) 
        { 
         Fehlermel.fehlerliste.fehlerliste_val[i].fehlertext = new char[255];
    

    Du hast ein Feld mit ErrList->usAnzFehler-1 Elementen, schreibst aber ErrList->usAnzFehler Elemente rein (Schleifenindex beginnt bei 0).

    Ciao



  • Hallo,
    ich beginne bei Null und möchte 10 Felder reservieren. In

    ErrList->usAnzFehler
    

    steht eine 10. So habe ich von 0 bis 9 10 Felder reserviert. Beim löschen der Felder frage ich dann nach kleiner 10 ab und beginne wieder bei 0

    for (i = 0; i < ErrList->usAnzFehler; i++)
    		delete [] Fehlermel.fehlerliste.fehlerliste_val[i].fehlertext;
    

    das sollte eigentlich funktionieren.

    Mir ist heute Nacht der Gedanke gekommen, daß der Heap nicht ausreicht, wie kann ich den beeinflussen?

    Evi48



  • Man bin ich BLIND. Entschuldigung du hast recht!

    Evi48



  • Hallo,
    euch allen vielen Dank für eure Hilfe.

    Kaum macht mans richtig dann läuft es auch

    Evi48



  • evi48 schrieb:

    Kaum macht mans richtig dann läuft es auch

    Was hätte man auch anderes erwartet 😃


Anmelden zum Antworten