Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi USB Port abfragen mit Delphi? (https://www.delphipraxis.net/60656-usb-port-abfragen-mit-delphi.html)

Basilikum 18. Jan 2006 14:01

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;

Robert Marquardt 18. Jan 2006 14:10

Re: USB Port abfragen mit Delphi?
 
Nicht schlecht, aber noch nicht so schoen wie es sein koennte.
Delphi-Quellcode:
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;
Ob man bei FT_Read einen ungetypten "var Buffer" und bei FT_Write entsprechend "const Buffer" nimmt ist Geschmackssache.
Ich wuerde es vorziehen, da es dann mit ReadFile bzw WriteFile korrespondiert.

HorstBS 18. Jan 2006 15:58

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 :\

DerDan 18. Jan 2006 16:07

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

daisychain 18. Jan 2006 18:15

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.

Robert Marquardt 19. Jan 2006 04:40

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.

v2afrank 19. Jan 2006 06:38

Re: USB Port abfragen mit Delphi?
 
Schau die doch alternativ mal die D2XXUnit unter http://www.ftdichip.com/Projects/Cod...les/Delphi.htm . Ich denke die hilft Dir auch weiter

daisychain 19. Jan 2006 09:51

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.
Seite 3 von 3     123   

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