hallo,
ich habe seit längerem das oben benannte board. funktioniert alles
einwandfrei mit beipspielprogrammen usw. ich wollte nun eigene
anwendungen in vb schreiben aber bekomme die dll einfach nicht
eingebunden. habe keine wirklichen erfahrungen in vb lediglich verfüge
ich über grundkenntnisse in fb. bitte um rat.
Also soweit ich das verfolgen kann, handelt es sich um die K8055D.dll.
Dies ist eine Standard C(++) DLL. Die kannst du nicht in VB einbinden,
sondern du mußt die Einsprungpunkte der DLL deklarieren, z. bsp. so:
Private Declare OpenDevice Lib "k8055d.dll" (byval ladress as long) as
long
Damit ist der Aufruf deklariert und vb findet den Einsprungpunkt. einzig
der returncode, der hier als long deklariert ist, muß nicht unbedingt
ein long sein.
Für die Applikation mußt du sicherstellen, daß die k8055.dll erreichbar
ist, also entweder im Windows Suchpfad oder im Applikationsverzeichniss
vorhanden ist. Fertig. (natürlich muß jede gewünschte Funktion
deklariert sein)
Die zugehörigen DLL's von der k8055d müssen auch erreichbar sein, kann
mittels einem Dependency Viewer überprüft werden.
Hoffe das hilft.
ich hab den code aus der pdf von der cd. für vb. die dll is im system 32
ordner aber der compiler zeigt mir trotzdem nen fehler an. das is der
punkt an dem ich eben nicht weiter komme.
> zeigt mir trotzdem nen fehler an.
Wenn du wirklich den Fehler "nen fehler" hast ist das wahrscheinlich ein
ganz spezieller Fehler, der nur in Zusammenhang mit der k8055d.dll
auftritt. Vielleicht hilft eine neue Version der DLL um "nen fehler" zu
beheben.
Dein Code sieht gut aus, da sind keine Fehler drin.
ja ich habe "nen fehler". sorry für die präzise angabe (=
das ist der code der nicht funktioniert. ich bekomme in fast jeder zeile
den fehler "die anweißung ist in einem namespace ungültig" angezeigt.
meines wissens habe ich die neuste version der dll.
Hallo
Das muß gehen.
Auch mit Long.
Ich habe VB2005.net da gibt es mit long manchmal Schwierigkeiten.
Ersetze dann alles mit Integer.
Kopiere mal alle benötigten Dateien ins Debug Verzeichnis.
K8055D.dll
FASTTime32.dll
K8055E0.exe
K8055E1.exe
K8055E2.exe
K8055E3.exe
Ich habe das so gemacht,damit alles schön beisammen ist.
Bildschirmcopy vom Fehler wäre nett.
Gruß
erstmal danke für die hilfe.ich weiß einfach nicht was ich falsch mache.
ich erstelle eine consolenanwendung kopiere den code rein und er zeigt
mit die 34 (glaue ich) fehler an. wie schon gesagt die dll ist im
system32 ordner und das mit dem debuggen bekomme ich nicht auf die
reihe. wenn ich es richtig vertanden habe sucht das programm nach
fehlern im quellcode? wo muss ich diese dateien hinkopieren?
Deine Fehler sind alle im Modul1
Zeige mal den cod vom Modul1,
vielleicht finden wir den Fehler.
Wenn ich mein Projekt wiederfinde kann ich es hier reinstellen.
Das meiste ist auch nur aus dem Netz,aber es läuft.
Gruß
wäre sehr nett,weil ich mich in vb nicht wirklich auskenne und mir das
dann mal anschauen könnte und versuchen könnte es zu verstehn. wie schon
gesagt ich verfüge lediglich über grundkenntisse in fb. wäre schade wenn
es jz am programmieren scheitern würde das zusammenlöten und alles hab
prima funktionniert. die testprogramme sind auch alle gelaufen.
vorerst wollte ich nur ein paar kleine versuche machen. die ausgänge
testen und sowas. aber jetzt blicke ich garnichtmehr druch. habe die
projektdatei glaube ich konvertiert weil es in einer älteren version
geschrieben wurde. aber ich finde da nirgends einen code der in i.einer
art und weiße was mit der dll zu tuhn hat?
beim öffnen der projektdatei kam eine meldung das dieses konvertiert
werden müsse weil sie mit einer älteren version von vb geschrieben
wurde. aber hat alles geklappt. in dem ordner ist die datei
"vers_dll_vb.net.exe" das beispielprogramm. das funktioniert auch. alles
klar habs gefunden danke^^
also mir geht das ähnlich: ich hab auch vb 2008
bei mir ist ein fehler, den ich nich behoben bekomme der:
h = OpenDevice(CardAdress)
OpenDevice ist nicht deklariert
wie kann ich den beheben????????????????????????????????
die Text´stelle ist diese:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim CardAddress As Integer
Dim h As Integer
CardAddress = 3
If CheckBox1.Checked Then CardAddress = CardAddress - 1
If CheckBox2.Checked Then CardAddress = CardAddress - 2
h = OpenDevice(CardAddress)
Select Case h
Case 0, 1, 2, 3
Label1.Text = "Roboterarm durch Adresse" + Str(h) + "
verbunden"
Timer2.Start()
Case -1
Label1.Text = "Roboterarm nicht durch Adresse" +
Str(CardAddress) + "verbunden"
Case -2
Label1.Text = "K8055E" + Mid(Str(CardAddress), 2, 1) +
".EXE nicht gefunden"
End Select
If h >= 0 Then Timer1.Enabled = True
End Sub
am anfang hab ich aber :
Private Declare Function OpenDevice Lib "k8055d.dll" (ByVal ladress As
Long) As Long
stehen.
Was is falsch
Achja das sind nur ausschnitte
danke im vorraus(bin verzweifelt)
Ich habe auch ein Problem mit der Programmierung, ich habe nun eine
plausible Erklärung gefunden, wenn diese falsch ist wäre es nett wenn
ihr mich darauf hinweisen könntet. Ich kann das beispielprogramm welches
auch auf der CD war, nicht starten, erklärung dafür war bei mir, dass
ich schon nicht mahr auf xp sondern Vista arbeite, nun hab ich auf
Velleman eu ganz versteckt gelesen, dass man Programme programieren
kann, die auf allen Windows Sysztemen laufen, bis auf Vista und windows
7. Ich glaube nun, dass das einfach nicht mehr bei Vista geht.