Hi,
ich glaube es liegt eher daran, dass bei der Erstellung des GUI-Arrays das Element "hwnd" nicht initialisiert wird,
sprich dieses durch evtl. Speicherreste x-beliebige Werte annehmen kann, wodurch die Abfrage dieses zu unerwartenden Fehlern
führen kann und dass du nach der for-Schleife, in
GUICreate(), nicht "ngui" prüfst ob dieses einen Wert zugewiesen bekommen hat.
Sprich folgende Codezeilen würde umändern/hinzufügen:
Als Basis-Konstruktor der Klasse "GUI". Natürlich muss dieser "public" sein.
Zitat
GUI *ngui = NULL;
Bei Zeile 43, nur um sicher zu gehen, dass später alles richtig läuft, liegt ein Fehler beim Zuweisen des Variable "ngui" vor bemerkst du es dann gleich,
da das Schreiben in einen NULL-Zeiger zu einem sofortigen Fehler führt.
Zitat
if(!ngui) {return NULL; }
Zusätzlich hinzufügen zwischen Zeile 50 und 51.
Und zu guter Letzt:
Zitat
if(g) {
MessageBox(0, "GUI wurde erstellt!", "Info", MB_OK | MB_ICONINFORMATION);
} else {
MessageBox(0, "GUI-Erstellung fehlgeschlagen", "Info", MB_OK | MB_ICONWARNING);
}
Zwischen Zeile 159 und 160 hinzufügen.