Autor Beitrag
gootz
Hält's aus hier
Beiträge: 2

Win XP, Linux
Delphi 7
BeitragVerfasst: Fr 21.04.06 17:01 
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:
ausblenden 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
ausblenden C#-Quelltext
1:
NoMangle long DLL_IMPORT_EXPORT csp2Init(long nComPort);					

Ich wäre sehr dankbar über jede Hilfestellung.

Götz Fabian
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Fr 21.04.06 18:14 
Wie kommst du denn da drauf ein 'var' zu benutzen? Wird wohl daran liegen, machs einfach weg.

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
gootz Threadstarter
Hält's aus hier
Beiträge: 2

Win XP, Linux
Delphi 7
BeitragVerfasst: Fr 21.04.06 20:31 
Stimmt! Danke nochmal für die schnelle Antwort.

Götz Fabian