weiss jemand etwas mit der Fehlermeldung anzufangen?
-
also, ich hab nen ziemlichen hals.
Alles läuft im debug- und im release-modus gut. aber sobald ich visual studio
schliesse und das prog so laufen lasse, dann funktionieren verschiedene
Features nicht mehr.
Beim Erstellen bring er unterschiedliche Warnungen, aber manchmal auch gar
keine. Ich weiss echt nicht mehr was ich tun soll. ich hab jetzt so lange an
dem driss gesessen und nun geht nix.
hier die letzten warnunen, die er mir ausgegeben hat:"C:\Dokumente und Einstellungen\g\Desktop\Stempeluhr\Release\Stempeluhr.exe" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "ntdll.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\kernel32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\mfc42.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\msvcrt.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\gdi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\user32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\advapi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\rpcrt4.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\shell32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\SHLWAPI.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\UmxSbxExw.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\UmxSbxTrw.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\UmxSbxw.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\mfc42loc.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.10.0_x-ww_f7fb5805\comctl32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\comctl32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\MSCTF.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\SCARD32.DLL" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\oleaut32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\ole32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\setupapi.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. "C:\WINDOWS\system32\cfgmgr32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden. Thread 0xA54 wurde mit Code 0 (0x0) beendet. Thread 0x6DC wurde mit Code 0 (0x0) beendet. Thread 0xAB8 wurde mit Code 0 (0x0) beendet. Das Programm "C:\Dokumente und Einstellungen\g\Desktop\Stempeluhr\Release\Stempeluhr.exe" wurde mit Code 0 (0x0) beendet.weiss jemand, wo der fehler liegen könnte?
-
Das sind leider keine Warnungen sondern ein völlig normaler Programmablauf. Das keine Symbolinformationen gefunden wurden bedeutet nur das die Dll keine Debuginformationen beinhaltet.
-
ich frage mich nur, warum das programm ohne visual studio im hintergrund nicht
richtig funzt. wenn vs läuft, dann tut es das nämlich.
ich krieg echt langsam nen blutrausch
-
Findet dein Programm eine Datei nicht?
Ich hoffe du weißt das wenn du dein Programm aus dem Studio heraus startest das Arbeitsverzeichnis vom Programm standardmäßig <Projekt-Pfad> ist (kann man in der Konfig einstellen). Startest du das Programm z.B. per Doppelklick auf die .exe so ist das Arbeitsverzeichnis des Programmes <Projekt-Pfad>\Release (oder wo auch immer deine .exe Datei liegt).
-
daran sollte es eigentlich nicht liegen.
ich habe sowohl im debug, als auch im release-ordner die gleiche ordnerstruktur
angelegt.
zusätzlich habe ich kontroll-routinen eingebaut, damit sichergestellt ist, dass
die datei auch existiert. sollte sie nicht existieren, dann wird sie erstellt.
ich bin mit meinem latein am ende.
ich habe mir sogar die mühe gemacht, funktionen auf die ich zuerst mit zeiger zugegriffen habe in jeder klasse nochmals anzulegen.

-
vielleicht findest du ja noch die zeit uns mitzuteilen,
was du unter "nicht richtig läuft" verstehst
-
Hoffe wir reden jetzt nicht aneinander vorbei.
Du öffnest in deinem Programm z.B. die Datei test.txt. Startest du dein Programm mit dem Studio so sucht er im Ordner "C:\Dokumente und Einstellungen\g\Desktop\Stempeluhr" nach dieser Datei.
Startest du dein Programm mit einem Doppelklick auf die exe so sucht er in "C:\Dokumente und Einstellungen\g\Desktop\Stempeluhr\Release". Stell' in der Konfig mal das Arbeitsverzeichnis auf "C:\Dokumente und Einstellungen\g\Desktop\Stempeluhr\Release" um und teste mal damit. Das ist das Einzige was mit einfällt was anders sein könnte.
-
ich ermittele mit ner funktion den aktuellen programmpfad. die dateien können
geöffnet und gelesen/geschrieben werden.
das problem ist: einmal macht er es und das andere mal nicht:CString CStempeluhrView::prog_pfad() { // Programmpfad ermitteln CString prog_pfad; static char path[_MAX_PATH]; if (_getdcwd('C' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3) { prog_pfad = path; } else if ((_getdcwd('D' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('E' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('F' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('G' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('H' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('I' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('J' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('K' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('L' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('M' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('N' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('O' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('P' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('Q' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('R' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('S' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('T' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('U' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('V' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('W' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('X' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('Y' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('Z' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('A' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } else if ((_getdcwd('B' - 'A' + 1, path, _MAX_PATH ) != NULL && strlen(path) > 3)) { prog_pfad = path; } // "\" in "\\" umwandeln int laenge = prog_pfad.GetLength(); int position; CString bearbeiten = prog_pfad; CString zwischen1,zwischen2; int laenge2 = bearbeiten.GetLength();; while(laenge2 > 1) { position = bearbeiten.Find('\\', 0); if (position != -1) { zwischen1 = zwischen1 + bearbeiten.Left(position+1) + "\\"; bearbeiten = bearbeiten.Mid(position+1, laenge2-1); } else { zwischen1 += bearbeiten; bearbeiten = ""; } laenge2 = bearbeiten.GetLength(); } prog_pfad = zwischen1; return prog_pfad; }
-
Nicht den Programm-Pfad! Mit deiner Funktion holst du dir immer den aktuellen Pfad von Laufwerk C: (falls C: existiert), auch wenn dein Programm auf LW
liegt.MSDN schrieb:
Get full path name of current [b]working directoryb[b] on the specified drive
Übrigens gibt es eine Funktion für sowas: MSDN: GetCurrentDirectory.
Möchtest du den Pfad haben wo deine .exe Datei liegt - dann nimm GetModuleFileName(0) (Musst noch den Dateinamen am Ende entfernen). -> In der MFC-FAQ oder mal suchen.
-
Danke für den Tipp!! Werde ich mal versuchen.
Das lustige ist, meine routine funktioniert auch (überall hin kopiert und mit ner
messagebox kontrolliert).
ist aber super nett, dass du dich meiner annimmst...
-
Nur zur info:
habe mit messageboxen debuggt und den Fehler gefunden:eine nicht auskommentierte code-zeile
Sorry für meine unendliche Doofheit.....

-
Hi, hab jetzt schon einige Zeit im Forum gesucht, aber einfach keine Lösung gefunden.
Ich hab auch das Problem, dass sich mein Fenster immer wieder beim Debuggen schließt. Und das in der Entwicklungsumgebung. Das Problem tritt jedoch bei jedem Programm das ich debuggen will auf, sogar hierbei:#include <iostream> using namespace std; int main(){ cout << "test" << endl; return 0; }naja und die nette antwort wie oben bereits beschrieben:
"ntdll.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\kernel32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
Thread 0x4F8 wurde mit Code 0 (0x0) beendet.
Das Programm "D:\VC PLUS PLUS\uebung07\uebung07_01\Debug\uebung07_01.exe" wurde mit Code 0 (0x0) beendet.Ach ja, benutze VS 6.0 sp6, unter WinXP prof.
thx schonmal im vorraus
Yeti
-
@Yeti
bei dem Prog wird test ausgegeben. Dann ist das Programm beendet und schließt sich. einfach eincin.get();einbauen.
-
danke, hat geholfen
