Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   K8055 - Anschlussprobleme (https://www.delphipraxis.net/156945-k8055-anschlussprobleme.html)

mülleimer 21. Dez 2010 14:39

K8055 - Anschlussprobleme
 
So Moin erstmal!
Mein Problem: Nachdem in irgenteinem meiner Regale seit Jahren ein Velleman-USB Interface Bausatz vor sich hin staubte, hab ich das Teil demletzt mal zusammengelötet.
Mal ein bisschen mit den Beispielprogrammen rumgedaddelt, funktionierte alles tadellos. Da ich dann nunmal auch ein Paar eigene Programme austesten wollte, kamen schon die ersten Schwierigkeiten...
...der Aufbau eines Kommunikationskanales zum gerät nach (http://www.produktinfo.conrad.com/.....mieranleitung_ K8055_DLL.pdf) Seite 11 erhalte ich immer die Meldung 'Karte 0 angeschlossen', unabhängig davon ob die Karte überhaupt angeschlossen ist, oder welche Adresse ich vorgebe.
Auch einfache Spielereien mit 'WriteAllDigital' funktionieren nicht --> kein Connect?
Ich habe mal ein wenig hier im Forum rumgewühlt und auch andere haben so mit dem Board gearbeitet, jedoch ohne diese Probleme zu haben (z.B. http://www.delphipraxis.net/84067-la...sonst-rot.html)

--> Ratlos... hat meine DLL ne´ Macke, oder muss ich noch auf anderes achten? (DLL ist im Projektordner und Implementiert)

Blup 21. Dez 2010 14:48

AW: K8055 - Anschlussprobleme
 
Dein Link funktioniert nicht, der wurde falsch kopiert.

Du schreibst das andere dieses Problem nicht haben.
Die Fehlerursache könnte also eventuell in deinem Quellcode liegen.
Wie wäre es, wenn du diesen an deinen Beitrag hängst...:glaskugel:

mülleimer 21. Dez 2010 14:54

AW: K8055 - Anschlussprobleme
 
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?

mülleimer 2. Feb 2011 16:48

AW: K8055 - Anschlussprobleme
 
Nach n' paar wochen jetzt mal wieder der sache angenommen...
mein plan bestand erstmal darin den code 1:1 langsam noch mal in ein neues projekt zu übertragen,
um nach fehlern zu suchen...es endete damit, dass der gesamte krempel nach dem kompilieren einwand-
frei funzte. auch ein zweifel-versuch mit copy&paste brachte das gleiche ergebnis.
whatever, jetzt gehts - nur verwunderlich ist's trotzdem... :roll:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz