Assertion failed
-
Hi
Ich habe ein Programm was anscheinend abstürzt während der Laufzeit mit folgender fehlermeldung die Aufpopt:
Titel: Assertion failed
Text: Trier: Filecore.cpp, Line 315Trier ist nur der Dateiname ^^
Der scheint sbzustürzen wenn ich eine Datei öffnen will:CFile read_file; CFile write_file; ... if (b_is_barcode==TRUE) { if(read_file.Open(_T("\\My Documents\\" + cs_ftpfilename),CFile::shareExclusive | CFile::modeRead)) { cs_messagetext="Die Datei konnte nicht geladen werden"; cs_messagetitle="Fehler: File_Open"; MessageBox(cs_messagetext, cs_messagetitle, MB_OK); } read_file.Close(); }Die Fehlermeldung wirft mein Debugger nach read_file.Close(); aus.
Was könnte die Fehlermeldung im Klartext bedeuten?!
Das Programm ist für WindowsCE und ich arbeite das erste Mal mit Datein in C++, falls es da massive Problme in der Programmierung geben sollte.
Grüße, Basti
-
Kannst du mal die Zeile mit dem ASSERT() heraussuchen, der angeschlagen ist? (btw, stimmt der Pfad, den du da angegeben hast?)
-
Stimmt der Dateiname? Bin jetzt nicht der CE Profi, kommt mir aber merkwürdig vor.
Und ich mache bei sowas sicherheitshalber immer noch einen
read_file.SeekToBegin()grüssle

-
ok, anscheinend wirkt sich langsam die Arbeitszeit aus

da hat ja garnichts gestimmt:
Ich habe vergessen, dass durch den FtpGetFile-Fefehl meine ftpfilename nicht mehr aktuell war. Und vor allem habe ich in einer if schleife, die wahr wird wenn die Datei gelesen wurde ausgegeben dass die datei ncht gelesen werden konnte
Auf jeden Fall funktioniert jetz das Programm soweit, dass keine Runtime-Fehlermeldung mehr kommt. Allerdings würde ich gerne wissen warum da so eine Meldung kommt, bzw. was das bedeutet. Also hier mal die besagten Zeilen aus filecore.cpp, die erste Zeile ist Zeile 312:void CFile::Close() { ASSERT_VALID(this); ASSERT(m_hFile != (UINT)hFileNull); BOOL bError = FALSE; if (m_hFile != (UINT)hFileNull) bError = !::CloseHandle((HANDLE)m_hFile); m_hFile = (UINT) hFileNull; m_bCloseOnDelete = FALSE; m_strFileName.Empty(); if (bError) CFileException::ThrowOsError((LONG)::GetLastError()); }War jetzt auch mal so schlau die Datei erst zu schliessen, wenn sie auch erfolgreich geöffnet wurde

Grüße, Basti