www.mikrocontroller.net

Forum: PC-Programmierung Funktionen einer DLL ansprechen


Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich will ein I2C-Tiny-USB Modul von Till Harbaum 
(http://www.harbaum.org/till/i2c_tiny_usb/index.shtml) nutzen und unter 
Visual Basic ansprechen - von C hab ich kaum Ahnung..
Jetzt liegt die DLL vor (libusb0.dll), ich weiß welche Funktionen es 
gibt, aber nicht welche ÜBer- bz. Rückgabewerte dazu gehören.

Kann mir jemand erklären, wie ich an diese Info rankomme??

Eine grundlegende C-Beispieldatei liegt bei Till ebenfalls vor, aber 
wenn man C nicht kann, kann man das natürlich nicht nachvollziehen.


Gruß

Timo

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Timo,

hier findest du einige Beispiele für Grafik.
Parameterübergabe zur DLL wird hier gut erklärt:

http://www.activevb.de/tutorials/tut_zeichnen/zeichnen.html

Weitere VB-Hilfen gibt es ebenfalls in Forum:
http://www.activevb.de/startseite/index.html

gruß hans

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hans,

danke für den Hinweis. Jedoch glaube ich, dass mir das nicht weiterhilft 
- das Problem ist nicht, wie man eine DLL und deren Funktionen aufruft, 
sondern woher ich zu einer gegebenen DLL den Aufbau der Funktionen 
bekomme.


Timo

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was spricht dagegen, die Dokumentation von libusb anzusehen?

Autor: Timo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

prinzipiell nicht schlecht die Idee mit dem Link.
Aber die Doku ist doch sehr - sagen wir mal - spartanisch. Entweder bin 
ich auf der falschen Seite gelandet, oder die Entwickler sind keine Fans 
von Dokus; aber bitte überzeuge Dich selbst und sag, dass ich unrecht 
habe....
"[..] Documentation
There is no documentation available yet, accept this page. As 
libusb-win32 is fully API compatible to libusb, the API documentation 
from the main libusb project site at http://libusb.sourceforge.net can 
be used. [..] "
=>http://libusb-win32.sourceforge.net/#documentation

und dann die "Doku" zu der API
=> http://libusb.sourceforge.net/doc/


Gruß

Timo

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, das aber ist die Dokumentation. So ist libusb halt. Du kannst Dir 
sicherlich auch noch ein paar Beispielprojekte ansehen, die libusb 
einsetzen, aber die dürften kaum in VB geschrieben sein.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Spartanisch? Nur weils keine Clicki-Bunti Webseite ist?

Hier gibts auch Basic Examples, die zumindest zeigen, welche Funktionen 
man aufrufen soll:
http://libusb.sourceforge.net/doc/examples-code.html

Ich frage mich aber gerade, wie du an die "Datentypen" kommen willst, 
die in dem Header-File zur libusb definiert sind? #include funktioniert 
ja leider nur in C/C++ und nicht in Visual Basic ;)

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, die Headerdatei muss sich so ein VB-Programmierer halt ansehen und 
die darin enthaltenen Funktionen nachbilden. Wie das geht, dürfte in 
unzähligen "Wie-benutze-ich-eine-DLL-mit-VB"-Tutorials beschrieben sein.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Rufus t. Firefly wrote:
> Naja, die Headerdatei muss sich so ein VB-Programmierer halt ansehen und
> die darin enthaltenen Funktionen nachbilden. Wie das geht, dürfte in
> unzähligen "Wie-benutze-ich-eine-DLL-mit-VB"-Tutorials beschrieben sein.

Na Prost Mahlzeit. Umständlicher bitte!

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht wohl so oder so etwas schlecht aus mit VB.
http://osdir.com/ml/lib.libusb.devel.windows/2005-...
http://osdir.com/ml/lib.libusb.devel.windows/2005-...
No, if you don't use the right calling convention then your program will
crash sooner or later.
The difference between stdcall and cdecl functions is the way the stack gets
cleaned up after the function call finished (function paramters are usually
passed via the stack). If you are calling a stdcall function then the callee, 
the
function, cleans up the stack. When calling a cdecl function the caller is 
reponsible
for doing this. 

And here comes the problem: I just searched the web regarding VB6 and
cdecl functions and it seems as if you cannot use these functions in VB6.

To overcome this problem I could add sdcall aliases for all functions
to the DLL. If you would like to have this feature, please let me know.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.