Hallo,
ich arbeite z.Z. an einem Programm, dass mit Barcodes aus einem Scanner, dem CS1504 von Symbol Technologies ausliest. In diesem
Post wurde die selbe DLL schon besprochen. Die Funktion, die ich benötige, heisst csp2Init(var nComPort : Integer). Sie öffnet einen COM-Port an dem übergebenen Port. Der Quellcodeausschnitt sieht folgendermaßen aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| implementation
function csp2Init(var nComPort : integer) : integer; stdcall; external 'Csp2.dll';
procedure TForm1.Button1Click(Sender: TObject); var port : integer; begin port := 0; ShowMessage(IntToStr(csp2Init(port)); end; |
Port := 0 steht für den 1. ComPort, also COM1. Das Programm an sich läuft zwar, dennoch gibt es ein Problem in der Übergabe der Variable nComPort. Anstelle von 0 (d.h. Status OK) wird -2 (d.h. schlechtes Parameter zurückgegeben). Es muss also ein Fehler in der Übergabe der Variable vorliegen. Die betreffende Zeile in csp2.h heisst übrigens
C#-Quelltext
1:
| NoMangle long DLL_IMPORT_EXPORT csp2Init(long nComPort); |
Ich wäre sehr dankbar über jede Hilfestellung.
Götz Fabian