Programm oeffnet sich nicht mehr

lionne

Grünschnabel
Hallo!
Im Moment haenge ich etwas an einem Problem, wobei ich wirklich keine Ahnung habe woher das Problem kommen koennte. :confused: Selbst bei meiner Google suche konnte ich keine Antwort auf mein Problem finden.

Hier die Beschreibung:
Ich habe schon ein Grundprogramm mit Hilfe von MFC am laufen. Das heisst dort ist ein Hauptfenster welches sich oeffnet nach Start des Programms. Dort kann ich dann auf zwei Buttons klicken. Der eine Button oeffnet ein weiteres Fenster, in dem ich dann Einstellungen machen kann. Der ander Button oeffnet ein OpenGL Fenster.

Jetzt haette ich noch gerne Kleinigkeiten an meiner GUI veraendert. So zum Beispiel haette ich gerne eine ComboBox in meinem Hauptfenster. Dabei gehe ich so vor, wie ich bisher alles erstellt habe:
In meiner .rc ziehe ich mit der Maus die ComboBox in das Fenster. Soweit funktioniert auch noch alles. Ich kann das Programm noch starten.
Aber sobald ich fuer diese ComboBox eine Control Variable erstelle (rechtsklick auf die ComboBox: AddVariable) oeffnet sich die GUI einfach nicht mehr :suspekt:
Also ohne Fehlermeldung passiert einfach nichts. Leider brauch ich nun aber diese control Variable..

Weiss irgendjemand zufaellig rat, was das sein koennte?
Dadurch dass ich ja selbst nichts am Code aendere, sondern nur Visual Studio 2005 das automatisch macht, kann ich mir echt nicht erklaeren woran das liegt?

Hoffe es kann mir jemand helfen..

Liebe und verzweifelte Gruesse,

Maria

P.S.: Wenn ihr noch weitere Informationen braucht, bitte fragen. Will euch nicht mit unnoetigen Code zumuellen..
Danke :)
 

Daniel Toplak

Erfahrenes Mitglied
Hi,
hast du schon mal versucht dein Program zu debuggen? Wenn nicht dann geh mal Schritt für Schritt mit dem Debugger durch, denn das hört sich nach einem Absturz an.
Du kannst auch mal in dem Output (heisst das noch so beim VS 2005? ) schauen was da steht, evtl. übersetzt du dein Programm auch mal mit Debuginfos, dann erreichst du mehr.
 

lionne

Grünschnabel
Ah ok danke fuer deine Antwort!
(Tut mir leid ich hatte Urlaub und hab jetzt erst die Antwort gelesen..)

Hab genau das jetzt probiert (Bin eigentlich jemand der nicht mit dem Debugger arbeitet, bzw. musste noch nie damit arbeiten.. Bin relativ neu beim Programmiern..)

Also bevor ich diese control-Variable erstelle laeuft der Debugger reibungslos durch. Erst wenn ich sie erstellt habe (und das Programm sich nicht mehr normal oeffnet) kommt es zu einer Warnmeldung von Visual:

Unhandled exception at 0x00445c00 in GUI.exe: 0xC0000005: Access violation reading location 0x00000000.

Das ist quasi ein Popup im Programm.. Kann dabei nur "continue" oder "break" waehlen.. Und dann den Debugger beenden.

Mitlerweile hab ich auch schon herausbekommen wo das ganze haengt.. Und zwar in meiner "gui.cpp". Dort sieht es so aus:

Code:
CGUIDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();

Dort wird quasi mein Hauptfenster aufgerufen (CGUIDlg dlg).
Dabei geht er noch in die 2. Zeile ohne Porbleme (Dort hab ich meinen Breakpunkt gesetzt) erst wenn ich danach schrittweise debugge kommt sofort das Popup mit der Warnmeldung. Sonst ist dabei leider keinerlei Information enthalten.

Wie kann ich mein Programm mit Debuginfos uebersetzen? Oder ist das der normale Debugger?
Weiss jemand wo mein Problem liegen koennte?
Bin total ratlos :(

Vielen Dank!

Maria

--------------------------------------------------------------------

Edit: Juhuuu es ist geloest!! Hab in den Properties zum Projekt die Runtime Library auf Multi-threaded DLL (/MD). Davor war dort Multi-threaded Debug DLL (/MDd) eingestellt..
Leider weiss ich nicht so genau wo dort der Unterschied ist. Auf jeden Fall laeuft es jetzt (und hoffentlich auch dauerhaft toitoitoi)

Weiss zufaellig jemand wie ich das erklaeren kann? Dachte zuerst da ich ja mehrere Child Windows benutze, dass es damit was zu tun hat. Aber genau kann ich mir das nicht erklaeren..

Vielen dank auf jeden Fall fuer die Unterstuetzung Daniel!

lg
Maria
 
Zuletzt bearbeitet:

Neue Beiträge