AGB  ·  Datenschutz  ·  Impressum  







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

C++ DLL in Delphi

Ein Thema von mcbain · begonnen am 27. Jul 2011 · letzter Beitrag vom 28. Jul 2011
 
mcbain

Registriert seit: 18. Mai 2011
50 Beiträge
 
#1

C++ DLL in Delphi

  Alt 27. Jul 2011, 13:56
Hallo,
ich nutze eine C++ DLL in Delphi, um meinen Ausweisdrucker fernzusteuern.
In der SDK Beschreibung sind die C++ Funktionen beschrieben.
Folgende Funktion funktioniert bspw.:

C++ Code
Code:
void ZBRPRNGetSDKVer(int *major,int *minor,int *engLevel)
Parameters:
major [out]pointer to major version number
minor [out]pointer to minor version number
engLevel [out]pointer to engineering level number

In Delphi nutze ich die Funktion dann bspw. so:
Code:
...
procedure ZBRPRNGetSDKVer(major, minor, engLevel: PInteger); stdcall; external 'ZBRPrinter.dll';
...

procedure TForm2.btnSDKClick(Sender: TObject);
var major, minor, engLevel: PInteger;
    a, b, c: integer;
begin
  major := @a;
  minor := @b;
  engLevel := @c;

  ZBRPRNGetSDKVsn(major,minor,engLevel);
end;

Aber folgendes funktioniert nicht:
C++ Code
Code:
int ZBRGetHandle(HANDLE *hPrinter,char *printerName,int *printerType,int *err)
Parameters:
hPrinter [out]pointer to returned printer driver handle
printerName [in] pointer to printer driver name
printerType [out]pointer to returned printer type value,
err [out]pointer to returned error code

Return Value:
TRUE successful
FALSE failed

In Delphi:
Code:
...
 function ZBRGetHandle(hPrinter: Phandle; printername: PChar;printerType, err: PInteger): Boolean; stdcall; external 'ZBRPrinter.dll';
...

procedure TForm2.btnSDKClick(Sender: TObject);
var hPrinter: Phandle;
    printerType, err: PInteger;
    printerName: Pchar;
begin

  printerName := 'Zebra P430i Card Printer USB';
  ZBRGetHandle(@hPrinter, printername , @printerType, @err)

end;
Kann mir jemand bitte erklären, warum ich da immer den Fehlercode (in @err) zurückbekomme, dass er den Handle auf den Drucker nicht hinbekommt? Was mache ich falsch? Der Drucker heißt definitiv so.

Wäre nett, wenn mir jemand weiterhelfen könnte, vielen Dank.
Gruß
mc
  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 03:04 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 by Thomas Breitkreuz