Was kommt in decls rein?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Toby

Betreff: Was kommt in decls rein?

BeitragSo, März 06, 2005 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich hab mir die dll von www.monacor.de für meine dmx konverter box gezogen (lichtsteuerung). Nun liegen da ein paar beispiele dabei aber nur für vb und delphi. Ich muss die dll ja zuerst in einer userlib declrieren und genau das ist mein Problem, da ich sowas noch nie gemacht hab und niergendwo was finde wo das steht.
Hier ein auszug aus dem visualb declarierungs beispiel:
Code: [AUSKLAPPEN]
Attribute VB_Name = "Module1"
Declare Function senddmx Lib "DMX120.dll" Alias "OutDMX" (ByVal a As Byte, ByVal b As Byte) As Boolean
Declare Function getmc Lib "DMX120.dll" Alias "GetMaxChannels" () As Integer
Declare Function getintf Lib "DMX120.dll" Alias "GetDMXInterface" () As String

mit meinem kleinen technischen verständnis habe ich mir überlegt, dass die decls ja dann so aussehen könnte:
Code: [AUSKLAPPEN]

.lib "DMX120.dll"
OutDMX(a%,b%): "senddmx"
GetMaxChannels%(): "getmc"
GetDMXInterface$(): "getintf"


Aber wenn ich nun OutDMX(x,y) Ausführen möchte kommt Zitat:
User lib function not found
.
Was mache ich falsch.
Habe ich den variablentyp vielleicht nicht eingehalten?? Bestimmt, denn ich habe keine AHnung was ich in Blitz für VB(boolean) nehmen soll. Kann mir da einer Helfen??

Thx a lot!
Very Happy
Member of
Terra Multimedia

simi

BeitragSo, März 06, 2005 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, soviel ich weiss ist es gerade umgekehrt:
Code: [AUSKLAPPEN]

.lib "DMX120.dll"
senddmx%(a%,b%): "OutDMX"
getmc%(): "GetMaxChannels"
getintf$(): "GetDMXInterface"


Boolean ist auch eine Rückgabewert!

Du kannst übrigens den Funktionsname selbst wählen (z.B send statt senddmx)

Toby

BeitragSo, März 06, 2005 17:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Thx jetzt funktionieren schon mal die anderen zwei Befehle!
Bei senddmx tritt jetzt noch folgender Fehler auf unknown runtime exception.
Kann sein das Boolean doch ein anderer Variablentyp ist?? Bestimmt nicht! Wink
Mein kleines Code:

Code: [AUSKLAPPEN]

Print getmc%()
Print getintf$()

For i=0 To 119
   senddmx%(i,0)
Next
For i=0 To 119
   senddmx%(i,100)
Next
WaitKEy()
Member of
Terra Multimedia

simi

BeitragSo, März 06, 2005 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Boolean ist einfsch True oder False....

DA ich die DLL nicht kenne, kann ich leider nicht weiterhelfen.... (Debug eingeschaltet?)

Toby

BeitragSo, März 06, 2005 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Die DLL gibts hier: http://www.monacor.de/global_img/DMX_DLL3.zip falls du das meinst.
Falls nichttrotzdem vielen Dank!

Achja: Debug is an!
Member of
Terra Multimedia

simi

BeitragSo, März 06, 2005 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
So, hab mal ein bisschen getestet...:

1. senddmx liefert immer 0, was ja wahrscheinlcih bei mir normal ist....
2. Wenn ich senddmx(119,x) mache, dann stürtz das Programm ab...
3. Ich bekomme aber keine Fehlermeldung
4. bei 119 sollte ja alles geupdatet werden, habe ich gelesen, daran liegts wahrscheinlich....
5. Ist es bei dir gleich?(auch bei 119, sonst gehts)Vielleicht mal anschluss überprüfen oder was auch immer....

Achja, ich habe B+, vielleciht gibts da noch unterschiede....

Toby

BeitragMo, März 07, 2005 16:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimmt, stürzt erst bei 119 ab!
Ich hab' nun aber ein viel schwerwiegenderes Problem, denn durch ein versehentlich zum zweitenmal ausgeführte B3D-Update funktioniert mein B3D nicht mehr richtig.(Was ja eigentlich nicht seien sollte) Wenn ich aber in Blitzview etwas ausführen möchte komm der Fehler
Symbol'__bbLoadLibs' not found
und bricht sofort ab. Im normalen Editor funktionieren wenigstens die Standartbefehle aber die in Userlibs natürlich nicht wenn das Symbol fehlt.
Mit einer Neuinstallation von B3D und Blitzview ließ sich das Problem jedoch nicht beheben.
Kannst du oder jemand anderes mir sagen, was ich tun soll? Kann mir vielleicht jemand diese unfindbare Datei schicken?? Ist doch eine, oder??

Thx
Member of
Terra Multimedia

Toby

Betreff: Hi mal wieder

BeitragSa, Sep 17, 2005 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
SO nach 6 monaten habe ich jetzt wieder eine möglichkeit gefunden userlibs einzubinnden und mch natürlich gleich wieder an dieses Progrämmchen gemacht.
Leider kommt jetzt wieder eine Fehlermeldung, die mir überhaupt nichts sagt:
Zitat:
Unknown runtime exception


Was bedeutet das? Wo kommt der Fehler her (Prog/Dll/decls/wasweiß ich)??
Member of
Terra Multimedia

simi

BeitragSa, Sep 17, 2005 14:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, ohne code und userlibs kann man da nicht gross weiterhelfen Wink

du kannst ja mal ausprobieren, wenn du die decls löscht, ob dann alles wieder geht => Fehler in den userlibs.....

Toby

BeitragSa, Sep 17, 2005 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Immernoch die gleichen:
deine userlib und einfach
Code: [AUSKLAPPEN]
For i=0 To 119
Print i
senddmx(i,255)
Next
WaitKey()
Member of
Terra Multimedia

simi

BeitragSa, Sep 17, 2005 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht ist die DLL nicht mehr da??
Sonst weiss ich auch nciht weiter..... :\

Toby

BeitragSa, Sep 17, 2005 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Die dl muss doch im gleichen ordner sein wies programm oder wo?
Member of
Terra Multimedia

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group