Einzelnen Beitrag anzeigen

Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: funtion einer dll aufrufen

  Alt 10. Jan 2007, 08:51
Korrekt ist:
Delphi-Quellcode:
unit USB_DLL;

interface
function GetUSBDeviceInfo(var UsbDevices: Longint; SerialNumber: PChar; var LenSerialNumber: Longint): Longint; stdcall;

implementation

function GetUSBDeviceInfo; external 'USBCAL.DLLname 'GetUSBDeviceInfo';

end.
Aufruf:
Delphi-Quellcode:
var
  SerialNumber: array [0..255] of Char;
  UsbDevices: Longint;
  LenSerialNumber: Longint;
begin
  LenSerialNumber := SizeOf(SerialNumber);
  GetUSBDeviceInfo(UsbDevices, SerialNumber, LenSerialNumber);
end;
Das geht von der Voraussetzung aus das die Funktion Infos ueber genau ein Device liefert.
Es koennte sein das der Parameter UsbDevices von einer anderen Funktion ausgefuellt worden sein muss.
Auf jeden Fall soll hier ein Puffer mit einem C String gefuellt werden. Dazu muss man der Funktion in LenSerialNumber mitteilen wie gross der Puffer ist.
Hinterher traegt die Funktion offensichtlich in LenSerialNumber ein wieviele Bytes sie in den Puffer kopiert hat.
  Mit Zitat antworten Zitat