AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

C++ DLL in Delphi einbinden

Offene Frage von "wschrabi"
Ein Thema von xthing · begonnen am 19. Jul 2006 · letzter Beitrag vom 21. Jul 2011
 
wschrabi

Registriert seit: 16. Jan 2005
456 Beiträge
 
#6

AW: C++ DLL in Delphi einbinden

  Alt 21. Jul 2011, 09:38
Hallo,
ich möchte stat eine DLL einbinden. Doch in der h Datei ist die Fn definiert als:

SLAB_HID_DEVICE_API DWORD WINAPI HidDevice_GetNumHidDevices(WORD vid, WORD pid);

als WORD sind die Parameter. Doch wie muss ich beim Aufruf den Parameter übergeben?

ok diese Problem hab ich mit einer Hex Umrechnung gemacht. (Sieh unten)

Aber jetzt das nächste:
in der h datei ist:

typedef void* HID_DEVICE;

wie muss ich jetzt diesen Type in mein delphi prg importieren dass ich folgendes
C-aquivalient machen kann?

HID_DEVICE m_hid;

BYTE status = HidDevice_Open(&m_hid, devNum-1, VID, PID);





Mein Code:
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

const
  DLLNAME = 'SLABHIDDevice.dll';

  function HidDevice_GetNumHidDevices(VID: Integer; PID: Integer): integer; stdcall; external DLLNAME ;


type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    function Hex2Int(hex: String): Integer;

  end;

var
  Form1: TForm1;

implementation


{$R *.dfm}
const
  VID = '152A';
  PID = '8261';

var
  devNum: integer;


function TForm1.Hex2Int(hex: String): Integer;
var
i,count: Integer;
begin
val('$'+hex,i,count);
if count = 0 then result:= i
else result := -1;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  devNum := HidDevice_GetNumHidDevices(Hex2Int(VID), Hex2Int(PID));
  ShowMessage('DeviceID = '+IntToStr(devNum));

  if devNum <> 0 then
    begin
    ......


    end;
end;

end

Geändert von wschrabi (21. Jul 2011 um 10:15 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:10 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