Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Mit Delphi 6.0 auf USB zugreifen (https://www.delphipraxis.net/18614-mit-delphi-6-0-auf-usb-zugreifen.html)

Niek 22. Mär 2004 11:03


Mit Delphi 6.0 auf USB zugreifen
 
[df][dp]
Hi,
ich habe einen Digital-Multimeter mit Usb.Ich möchte die Werte vom Gerät lesen. So habe ich versucht wert:= Rdport(0) und Rdport(1):

Delphi-Quellcode:
 
function RdPort(PortNr: Byte): Byte;
var lIn: _lIn;
    lOut: _lOut;
    DeviceHandle: THandle;
    TemplateHandle: THandle;
    nBytes: DWord;
    bresult: Boolean;
begin
  lIn.bFunction := 20;
  lIn.bValue1 := PortNr;
  DeviceHandle := CreateFile ('\\.\CompuLABusb_0',Generic_write,File_Share_write,nil,open_existing,0,TemplateHandle);
  bResult := DeviceIoControl(DeviceHandle,$04,@lIn,sizeof(lIn),@lOut,sizeof (lOut),nBytes,nil);
  CloseHandle (DeviceHandle);
  Result := lOut.bValue1;
end;
Es funktioniert nicht. kann mir jemand ein Tip geben.
MFG
Niek

[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]

DP-Maintenance 22. Mär 2004 11:06

DP-Maintenance
 
Dieses Thema wurde von "Sharky" von "Freeware" nach "Sonstige Fragen zu Delphi" verschoben.
Die Sparte "Freeware" ist zum vorstellen von eigenen Programmen ;-)

kiar 22. Mär 2004 11:07

Re: Mit Delphi 6.0 auf USB zugreifen
 
hi niek,

herzlich willkommen in der dp,

suche mal nach der HID komponente auf den seiten von mike lischke.

raik

und delphi tags setzen- sharky war schneller :mrgreen:

Robert Marquardt 22. Mär 2004 14:05

Re: Mit Delphi 6.0 auf USB zugreifen
 
Kann sein das meine HID Komponente nicht hilft.
'\\.\CompuLABusb_0' sieht mehr nach einem vom Treiber exportierten Namen zum Zugriff aus.

Du bist auf dem richtigen Weg mit deinem Code. Ich glaube eher das du die Parameter von Createfile ueberreizt.
Versuch es mal ohne TemplateHandle und oeffne zum lesen und schreiben.
Sollte das DeviceIoControl fehlschlagen, so musst du ein bischen mehr Info geben.
Das kann ich sonst nicht beurteilen ob es gut ist.

NicoDE 22. Mär 2004 19:26

Re: Mit Delphi 6.0 auf USB zugreifen
 
Wie Robert schon bemerkt hat, wird der Aufruf von CreateFile nicht funktionieren (wird bei Dir auch nicht überprüft)
Delphi-Quellcode:
function RdPort(PortNr: Byte; out Value: Byte): Boolean;
var
  InBuffer: _lIn; // TInBuffer?
  OutBuffer: _lOut; // TOutBuffer?
  DeviceHandle: THandle;
  BytesReturned: DWORD;
begin
  Result := False;
  DeviceHandle := CreateFile('\\.\CompuLABusb_0', 0, // bzw. GENERIC_READ/WRITE
    FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, 0);
  if (DeviceHandle <> INVALID_HANDLE_VALUE) then
  try
    InBuffer.bFunction := 20;
    InBuffer.bValue1 := PortNr;
    if DeviceIoControl(DeviceHandle, $04, @InBuffer, SizeOf(InBuffer),
      @OutBuffer, SizeOf(OutBuffer), BytesReturned, nil) then
    begin
      Value := OutBuffer.bValue1;
      Result := True;
    end;
  finally
    CloseHandle (DeviceHandle);
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz