Delphi-Quellcode:
implementation
{$R *.dfm}
function OpenDevice(CardAddress: Longint): Longint; stdcall; external 'K8055d.dll';
procedure CloseDevice; stdcall; external 'K8055d.dll';
procedure WriteAllDigital(Data: Longint);stdcall; external 'K8055d.dll';
Die bisher verwerteten
DLL-Schnipsel
Delphi-Quellcode:
procedure TForm1.suchButtonClick(Sender: TObject);
var h,CardAddress:longint;
begin
CardAddress:= 0;
sleep(100);
h:= OpenDevice(CardAddress);
case h of
-1:
begin
suchPanel.Caption:='Karte '+ inttostr(h)+' nicht gefunden';
contPanel.Color:=clRed;
end;
0..3:
begin
suchPanel.Caption:='Karte '+ inttostr(h)+' angeschlossen';
contPanel.Color:=clLime;
end;
end;
end;
Adressierung erfolgte hier im Code
Delphi-Quellcode:
procedure TForm1.SendDigitalClick(Sender: TObject);
var Data:longint;
var DigitalInputBox:shortstring;
begin
Data:=strtoint(DigitalInputBox);
WriteAllDigital (Data);
end;
Und der Spaß mit 'WriteAllDigital'
Das dürften die kritischen Parts sein.
http://www.produktinfo.conrad.com/da..._K8055_DLL.pdf
Das PDF
EDIT: Beim klicken auf den Sendeknopf des Letzten Code-Abschnitts bekomme ich immer Fehlermeldungen in
ASCII-Code, sind die Delphi-Intern, oder gibts da näheres nur von Velleman?