Fehler im Code Checksum



  • Sorry,
    aber ich bin Anfänger.
    Was sind Code Tags bzw. wie würden die mir helfen?

    Gruß Zizou



  • Code Tags sorgen dafür, dass dein Code hier im Forum zumindest ordentlich dargestellt wird.



  • Hallo,
    alles klar. Werd nächstes mal Code Tags verwenden.

    Kann mir jemand bei meinem eigentlichen Problem helfen, warum die Funktion nicht funktioniert?

    Gruß Zizou



  • Also dann zitiere ich mich mal selbst:

    dfgidga schrieb:

    Um MessageBox() in dieser Funktion zu verwenden, musst du entweder die gesamte Funktion als Member deiner CTestDlg Klasse deklarieren oder du übergibst der MessageBox auch einfach so das Handle.



  • Hallo,
    dann zitier ich mich halt auch mal selbst:

    Zizou schrieb:

    Mein Problem ist jetzt, das beim Funktionsaufruf sich das Programm aufhängt bzw. folgenden Fehler bringt:
    Thread 0x3B8 wurde mit Code 0 (0x0) beendet.
    Thread 0xE28 wurde mit Code 0 (0x0) beendet.

    Das einzige das ich an dem Code geändert habe ist folgendes:
    ulFileSize = GetFileSize(hFile); IN ulFileSize = GetFileSize(hFile, NULL); WEIL ich eine Fehlermedlung bekommen habe.

    Kann das an der Methode GetFileSize liegen?

    Gruß Zizou



  • Nein, es liegt nicht an deiner Änderung, es liegt vermutlich daran dass du den Code aus einer Klasse rauskopiert hast die von CWnd abgeleitet ist.

    Lies es bitte einfach in der MSDN nach.
    Falls du Visual Studio verwendest drück einfach mal F1, falls du nen anderen Compiler verwendest: http://msdn.microsoft.com/



  • Es könnte auch problematisch sein, daß ein FILE* etwas anderes ist als ein HANDLE 😉 (GetFileSize() erwartet letzteres).

    PS: Was die Mitteilungen "Thread xyz wurde beendet" mit deinem Problem zu tun haben, bin ich leider überfragt - vermutlich gar nichts.



  • Hallo,

    bin immer noch an meinem Problem mit der Dateigröße.
    unsigned long ulFileSize = GetFileSize(hFile, NULL);

    Hab herausgefunden bzw. bemerkt, dass hier immer der gleiche Wert übergeben wird: 4294967295

    Dadurch das der Wert so groß ist, hängt sich das Programm auf.

    Aber warum bekomme ich da einen falschen Wert? (meine Dateien sind max. 6KB groß)

    Es kann nur noch an diesem Befehl liegen, denn mit einem konstanten Wert funktioniert das Programm.

    Gruß Zizou



  • Ja, es liegt an diesem Befehl - genauer gesagt daran, daß du ihm die falschen Parameter übergibst. GetFileSize() erwartet ein Datei-Handle (das bekommst du z.B. von CreateFile()), keinen FILE*. (und wenn ich raten müsste, würde ich sagen, daß GetLastError() sowas wie "Invalid Handle" ausspucken dürfte)



  • Bau mit fseek und ftell ein "kompatibles" GetFileSize.
    🙂


Anmelden zum Antworten