![]() |
Re: USB Port abfragen mit Delphi?
Code:
typedef PVOID FT_HANDLE;
typedef ULONG FT_STATUS; FTD2XX_API FT_STATUS WINAPI FT_Open(int deviceNumber, FT_HANDLE *pHandle); FTD2XX_API FT_STATUS WINAPI FT_OpenEx(PVOID pArg1,DWORD Flags, FT_HANDLE *pHandle); FTD2XX_API FT_STATUS WINAPI FT_Close(FT_HANDLE ftHandle ); 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);
Delphi-Quellcode:
Const
FTD2xxLib = 'FTD2XX.DLL'; Type FT_HANDLE = PPointer; PFT_HANDLE = ^FT_HANDLE; FT_STATUS = DWORD; Function FT_Open(deviceNumber : Integer;pHandle : PFT_HANDLE) : FT_STATUS; StdCall; External FTD2xxLib; Function FT_OpenEx(pArg1 : Pointer;Flags : DWORD;pHandle : PFT_HANDLE) : FT_STATUS; StdCall; External FTD2xxLib; Function FT_Close(ftHandle : FT_HANDLE) : FT_STATUS; StdCall; External FTD2xxLib; Function FT_Read(ftHandle : FT_HANDLE;lpBuffer : Pointer;nBufferSize : DWORD;lpBytesReturned : PDWORD) : FT_STATUS; StdCall; External FTD2xxLib; Function FT_Write(ftHandle : FT_HANDLE;lpBuffer : Pointer;nBufferSize : DWORD;lpBytesWritten : PDWORD) : FT_STATUS; StdCall; External FTD2xxLib; |
Re: USB Port abfragen mit Delphi?
Nicht schlecht, aber noch nicht so schoen wie es sein koennte.
Delphi-Quellcode:
Ob man bei FT_Read einen ungetypten "var Buffer" und bei FT_Write entsprechend "const Buffer" nimmt ist Geschmackssache.
Const
FTD2xxLib = 'FTD2XX.DLL'; Type FT_HANDLE = Pointer; FT_STATUS = DWORD; Function FT_Open(deviceNumber : Integer; var Handle : FT_HANDLE) : FT_STATUS; StdCall; External FTD2xxLib; Function FT_OpenEx(pArg1 : Pointer; Flags : DWORD; var Handle : FT_HANDLE) : FT_STATUS; StdCall; External FTD2xxLib; Function FT_Close(ftHandle : FT_HANDLE) : FT_STATUS; StdCall; External FTD2xxLib; Function FT_Read(ftHandle : FT_HANDLE; lpBuffer : Pointer; nBufferSize : DWORD; var BytesReturned : DWORD) : FT_STATUS; StdCall; External FTD2xxLib; Function FT_Write(ftHandle : FT_HANDLE; lpBuffer : Pointer; nBufferSize : DWORD; var BytesWritten : DWORD) : FT_STATUS; StdCall; External FTD2xxLib; Ich wuerde es vorziehen, da es dann mit ReadFile bzw WriteFile korrespondiert. |
Re: USB Port abfragen mit Delphi?
Super dankeschoen! Damit kann ich doch schon wieder was anfangen.. nur was trag ich fuer
"ftHandle : FT_HANDLE" ein..also als Parameter? Krieg da immer nen Fehler :\ |
Re: USB Port abfragen mit Delphi?
Ich denk mal du musst mit FT_Open das Handle holen und in allen Funktionen verwenden
könntest natürlich auch ein Objekt als hülle drumrum basteln mfg DerDan |
Re: USB Port abfragen mit Delphi?
:?
Also probier mal das: Neue Anwendung einen Button und ein Label. Doppelklicken auf den Button. Zwischen Prozedure und begin einfügen: var FT_Handle : THandle; cardadress : longint; s1 : string; zwischen begin und end: cardadress := 0; Ft_Open(cardadress,Ft_handle); s1 := FT_Handle; label1.caption := s1; FT_Close(FT_Handle); zwischen implementation und procedure: funktion FT_Open(cardadress: longint; FT_Handle : THandle):Ft_Handle; stdcall; external 'FTD2XX.dll'; procedure FT_Close(FT_Handle:THandle); stdcall ; external 'FTD2XX.dll'; Wie schon gesagt bin ich ein Anfänger kenne mich mit Handel nicht so gut aus. |
Re: USB Port abfragen mit Delphi?
Na das ist keine gute Idee den Handle anzeigen zu wollen.
Ein Handle taugt nur zu einer Sache und das ist man reicht ihn herum. |
Re: USB Port abfragen mit Delphi?
Schau die doch alternativ mal die D2XXUnit unter
![]() |
Re: USB Port abfragen mit Delphi?
Hallo Robert,
hier ging es mir nicht darum das Handle anzuzeigen, sondern die Funktion zu testen. Wenn das Gerät keine Fehlermeldung bringt, dann können auch alle anderen Befehle der DLL integriert und genutzt werden. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz