Hallo,
ich versuche ein USB Oszilloskop anzusteuern.
MEphisto Scope
Dort gibt es auch Programmierbeispiele für C++ und Delphi.
Der C++ Code funktioniert. Der für Delphi leider nicht.
Bisher klappt es soweit:
Das Device kann geöffnet werden ("FT_Open")
Ich kann darauf schreiben ("FT_Write")
Bei der Funktion "FT_Read" allerdings hängt sich das Programm auf und es passiert nichts weiter.
Die Funktionen sind folgendermaßen deklariert:
Delphi-Quellcode:
function FT_Open(PVDevice:Integer; ftHandle:Pointer ) : FT_Result ; stdcall ; External FT_DLL_Name name 'FT_Open';
function FT_Write(ftHandle:Dword; FTOutBuf : Pointer; BufferSize : LongInt; ResultPtr : Pointer ) : FT_Result ; stdcall ; External FT_DLL_Name name 'FT_Write';
function FT_Read(ftHandle:Dword; FTInBuf : Pointer; BufferSize : LongInt; ResultPtr : Pointer ) : FT_Result ; stdcall ; External FT_DLL_Name name 'FT_Read';
*edit: FT_DLL_name ist 'FTD2XX.dll'
in C++ sieht das ganze so aus:
Code:
#ifdef __cplusplus
extern "C" {
#endif
...
FTD2XX_API
FT_STATUS
WINAPI FT_Read(
FT_HANDLE ftHandle,
LPVOID lpBuffer,
DWORD nBufferSize,
LPDWORD lpBytesReturned
);
FTD2XX_API
FT_STATUS
WINAPI FT_Write(
FT_HANDLE ftHandle,
LPVOID lpBuffer,
DWORD nBufferSize,
LPDWORD lpBytesWritten
);
...
}
Hat jemand eine Idee woran das liegen könnte? Ich hab offen gestanden keinen blassen Schimmer.
Ich hab keine Ahnung was der C Compiler daraus macht (im Vergleich zum Delphi oder C++ Kompiler)
Bin für jede Hilfe dankbar
MfG
Julian