Zitat von
Apollonius:
Zeige mal die Deklaration von USBWriteAsync. Ich vermute stark, dass hier ein Funktions- und kein Methodenzeiger erwartet wird
Die bekomme ich von einer
dll....
Delphi-Quellcode:
// callback function used as parameter with UsbTransferAsync
TTRANSFER_COMPLETION_ROUTINE = procedure (ErrorCode : Longint;
NumberOfBytesTransfered : Longint); stdcall;
function UsbWriteAsync(hPipe : USB_PIPE_HANDLE;
const Buffer : LPVOID;
nNumberOfBytesToTransfer : DWORD;
CompletionRoutine : TTRANSFER_COMPLETION_ROUTINE) : BOOL; stdcall;
Macht es einen Unterschied ob die Funktion zur Klasse gehört (das ist doch mit Methode gemeint, oder?) oder ob es eine normale Funktion ist? Die 'Event Variable' habe ich auch in der Klasse als Privates Feld... Ist das in Ordung?
Zitat von
Apollonius:
(wobei du mit @TBulkWriteThread.CallbackFktWrite auch keinen "echten", gebundenen, Methodenzeiger übergibst). Außerdem solltest du die Aufrufkonvention prüfen.
Kannst du das evtl. etwas genauer Erläutern? Was heißt "echter", gebundener, Methodenzeiger und was bedeutet ich soll die Aufrufkonvention prüfen?
Vielen Dank