ESP Error ...



  • In meinem Programm habe ich in einer Header-Datei, mehrere "struct" definiert.
    Das klappt soweit. Jetzt habe ich eine "struct" hinzugefügt, und das Programm
    stürzt ab. Mit folgender Fehlermeldung:

    Debug Error!
    Programm c:\Projekte\GLisp\Debug\GLisp.exe
    Module:
    File i386\chkesp.c
    Line 42
    The value of ESP was not properly saved across a function call. This is
    usually a result of calling a function declared with one calling
    convention with a function pointer declared with a different calling
    convention.

    Später habe ich diesen struct in eine neue Klasse ausgelagert. Das geht.

    Folgende "struct"
    struct Vektor2
    {
    short Zuege[7];
    short Zuegelevel;
    };



  • [quote="GeorgC++"Später habe ich diesen struct in eine neue Klasse ausgelagert. Das geht.[/quote]

    Das ist eher Zufall. Eine Deklaration einer Klasse oder Strktur löst keine derartigen Fehler. Ein wenig Code wäre gut.



  • Ich habe mein obiges Problem gelöst.
    Und zwar habe ich ein globales Objekt angelegt:
    CGrund GRU;
    und dies einer Funktion übergeben:
    ZeichneBrettt( ..., GRU, ...);
    Die Klasse CGrund enthält eine grosse Datenmenge.
    Diese kann der Funktion deswegen nicht übergeben werde.
    Die Lösung:
    Ich übergebe der Funktion einen Zeiger auf das Objekt ( GRU )
    ZeicheneBrett( ..., &GRU, ...);
    Und Tschüss ...


Anmelden zum Antworten