CopyFileEx Callbeck Fehler



  • Ich möchte Dateien kopieren, und den Fortschritt beobeachten.
    Dazu habe ich eine Callback Funktion geschrieben die von CopyFileEx aufgerufen werden soll.

    DWORD CopyProgressRoutine(
      LARGE_INTEGER TotalFileSize,
      LARGE_INTEGER TotalBytesTransferred,
      LARGE_INTEGER StreamSize,
      LARGE_INTEGER StreamBytesTransferred,
      DWORD dwStreamNumber,
      DWORD dwCallbackReason,
      HANDLE hSourceFile,
      HANDLE hDestinationFile,
      LPVOID lpData
    )
    {
      //mach was...
    }
    

    Leider weigert sich mein Compiler:

    [BCC32 Fehler] UnitMain.cpp(78): E2034 Konvertierung von 'unsigned long (* (_closure )(_LARGE_INTEGER,_LARGE_INTEGER,_LARGE_INTEGER,_LARGE_INTEGER,unsigned long,unsigned long,void *,void *,void *))(_LARGE_INTEGER,_LARGE_INTEGER,_LARGE_INTEGER,_LARGE_INTEGER,unsigned long,unsigned long,void *,void *,void *)' nach 'unsigned long (__stdcall *)(_LARGE_INTEGER,_LARGE_INTEGER,_LARGE_INTEGER,_LARGE_INTEGER,unsigned long,unsigned long,void *,void *,void *)' nicht möglich

    wo liegt der Fehler, ich verzweifle gerade 😞



  • Du kannst keinen Funktionszeiger auf Memberfunktionen erhalten. Benutze eine freie Funktion und übergib den Objektzeiger in lpData.
    Auch muß deine Funktion die Aufrufkonvention CALLBACK verwenden.


Anmelden zum Antworten