AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi USB-Schnittstelle K8055 in Delphi ansteuern?
Thema durchsuchen
Ansicht
Themen-Optionen

USB-Schnittstelle K8055 in Delphi ansteuern?

Ein Thema von TH3LL · begonnen am 22. Okt 2006 · letzter Beitrag vom 22. Okt 2006
Antwort Antwort
TH3LL

Registriert seit: 25. Jan 2006
22 Beiträge
 
Delphi 6 Enterprise
 
#1

USB-Schnittstelle K8055 in Delphi ansteuern?

  Alt 22. Okt 2006, 19:24
Hallo,
Ich habe eine "K8055 USB Interface Board" von Velleman erhalten und versuche, diese in Delphi anzusteuern.
Das Usermanual gibt ein Beispielprogramm (http://www.velleman.be/downloads/0/u...8055_dll_d.pdf), welches eigentlich funktionieren sollte. Aber auf der Seite von Velleman existiert nur die DLL "K8055D.dll" und die "Third party Visual #csharp dotNET driver for K8055".

Nun habe ich versucht die Befehle in Delphi entsprechend des Handbuchs einfach aufzurufen:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, STdCtrls, ExtCtrls, ComCtrls;

type
  TForm1 = class(TForm)
     //usw...
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
function Opendevice(CardAdress:Longint):Longint; stdcall; external 'K8055d.dll';
procedure CloseDevice; stdcall; external 'K8055d.dll';

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
   CloseDevice;
end;

procedure TForm1.Button1Click(Sender: TObject);
var h:longint;
begin
    //Zugriff auf die einzige angeschlossene Karte
    h:=OpenDevice(0);
    case h of
        0..3: label1.caption:='Karte '+inttostr(h)+' angeschlossen';
          -1: label1.Caption:='Karte 0 nicht gefunden';
        end;
end;

end.
Allerdings bricht das Progamm schon bei dem ersten Druck auf F7, also beim "begin" der Projektdatei ab..
Kann es sein, dass die DLL nicht gefunden wurde? Wenn ja, wo muss ich diese unterbringen?

Ich habe leider keine Ahnung, wie DLLs überhaupt funktionieren.
Ich habe Stunden nach etwas hilfreichem im Netz gesucht, aber ich weiss noch nicht mal genau warum es bei mir nicht funktioniert
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: USB-Schnittstelle K8055 in Delphi ansteuern?

  Alt 22. Okt 2006, 19:51
Die Dll muß im Systempfad liegen. d.H in einem Pfad der in der variable PATH eingetragen ist oder im Verzeichnis der Anwendung.
Markus Kinzler
  Mit Zitat antworten Zitat
TH3LL

Registriert seit: 25. Jan 2006
22 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: USB-Schnittstelle K8055 in Delphi ansteuern?

  Alt 22. Okt 2006, 20:07
Aha.. ok.. Ich weiss zwar nicht, wo diese Variable PATH zu finden ist, aber wenn die DLL im Ordner der Projektdatei liegt tut sich immerhin mal was.
Das Programm bricht zwar noch immmer an der gleichen Stelle ab, aber wenn ich eine EXE erstelle und diese zu starten versuche erhalte ich immer eine Fehlermeldung mit der man was anfangen kann:
"Der Prozedureinzugspunkt 'Opendevice' wurde in der DLL 'K8055d.dll' nicht gefunden."

Soll heissen die DLL ist nicht korrekt?
Wie kann ich die DLL einlesen?
Wenn ich versuche die DLL mit Delphi zu öffnen gibts eine Fehlermeldung "Error loading type Library"...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: USB-Schnittstelle K8055 in Delphi ansteuern?

  Alt 22. Okt 2006, 20:21
Delphi-Quellcode:
function OpenDevice(CardAdress:Longint):Longint; stdcall; external 'K8055d.dllname 'OpenDevice';
procedure CloseDevice; stdcall; external 'K8055d.dllname 'CloseDevice';
Markus Kinzler
  Mit Zitat antworten Zitat
TH3LL

Registriert seit: 25. Jan 2006
22 Beiträge
 
Delphi 6 Enterprise
 
#5

Re: USB-Schnittstelle K8055 in Delphi ansteuern?

  Alt 22. Okt 2006, 20:33
Wie soll man auch mit Dingen experimentieren, die einem von einem mitgelieferten Beispielprogramm nicht richtig vorgestellt werden

Vielen dank!
Es funktioniert! Die Karte wurde gefunden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: USB-Schnittstelle K8055 in Delphi ansteuern?

  Alt 22. Okt 2006, 20:38
Möglicherweise hast du dich nur beim Eingeben vertippt 'Opendevice' satt 'OpenDevice'. Im Gegensatz zu Delphi sind nämlich Dll-Funktionen case-sensitiv, da es sich ja um c-Funktionen handelt. die Angabe mit name ist eigentlich optional, ich verwede dies aber zur Sicherheit trotzdem immer.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


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 13:59 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