PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bad dll calling convention



Ruud
30.01.2007, 15:11
Hallo,
Ich habe was programiert mmit vb6 und libnodave, ich will gern ein bit setzen in die sps.
sieht so aus : res2 = daveSetBit(myDC, myArea, myAreaNumber, 1, 1, 2)

die myDC, myArea, myAreaNuber sind OK die functionieren schon wenn ich z.b. eine INT lese.

Wenn ich die funktion anrufe, kommt vb6 mit diese fehlermeldung "Bad dll calling convention". Hat jemand eine idee?

Entschuldige für mein Deutsch, komme aus Holland

gr. Ruud

Question_mark
30.01.2007, 22:43
Hallo Ruud,


Entschuldige für mein Deutsch,
Du brauchst Dich nicht zu entschuldigen, Dein Deutsch ist doch sehr gut.
Ich bin nur zu dumm, niederländisch zu sprechen...
Willkommen im Forum.

Die Deklaration von "davesetBit" hat in Version 8.02 (eine andere habe ich jetzt nicht zur Verfügung) nur 5 Übergabeparameter.

Deklaration :
daveSetBit(daveConnection * dc,int area, int DB, int byteAdr, int bitAdr);

Vieleicht ist das Dein Problem, denn das kann nicht passen :


sieht so aus : res2 = daveSetBit(myDC, myArea, myAreaNumber, 1, 1, 2)
Das sind dann 6 Parameter, mit Sicherheit ein Grund für "Bad Dll calling convention". Ich hoffe, das hilft Dir weiter.

Gruss

Question_mark

Ruud
31.01.2007, 20:01
Danke Mark,

Ich werde es gleich freitag probieren.

gruss Ruud

Ruud
12.02.2007, 14:41
Hallo Mark,

Die tip hat funktioniert. Sorry für den spate reaktion. war auf eine inbetriebname.

danke!

Zottel
12.02.2007, 15:00
Ich sehe gerade, daß die Deklarationen für daveSetBit und daveClrBit fehlerhaft sind: streicht bitte "ByVal start as Long" in beiden Definitionen.
Ich werde es im nächsten Release beheben.
In Zweifelsfällen ist richtig, was in nodave.h steht, denn damit wird die .dll erzeugt.