Declare DLL in Visual Basic Studio 2015 vanuit C code

Status
Niet open voor verdere reacties.

Airence

Nieuwe gebruiker
Lid geworden
1 feb 2018
Berichten
1
Goedendag,

Ik heb een vraag over het declareren van een DLL. Ik wil een applicatie schrijven in VB welke verbinding maakt met een Airence Mengtafel van D&R.
D&R levert een DLL (airence.dll) en een stukje C code. Echter geen voorbeeld in VB. Inmiddels lukt het mij wel om naar de mengtafel te schijven, maar uitlezen lukt nog niet.
Ik zal hier een voorbeeld geven:

In C:
int airenceSetLed( int lednr, colors_t_color );

In VB:
Private Declare Function airenceSetLed Lib "Airecne.DLL" (ByVal lednr as Integer, colors_t_color as integer) as Integer

Ik geef dan als commando
airenceSetLed (1,1) 'wat wil zeggen zet led1 op bv 1=rood en dat werkt

Set the specified LED lednr with color. One can choose a value for lednr in the range of 1~24. These
LED’s are the LED’s behind the control switches. On succes the function returns 0, or -1 otherwise.

Nu wil ik de status uitlezen daarvoor heb ik C code:
int airenceGetControlSignal( int controlsignal, bool *state );

To retrieve the state of a single control signal this function must be called. The controlsignal argument
can have a value in the range of 1~38 (see control signal defines in this document). The argument
state is a pointer to a boolean variable. The variable itself will be set to TRUE(1) for press state, and
FALSE(0) for release state. On succes the function returns 0, or -1 otherwise.

Ik zou zeggen;
Private Declare Function airenceGetControlSignal Lib "Airecne.DLL" (ByVal controlsignal as Integer, state as Boolean) as Integer

label1.text = airenceGetControlSignal(1,true) 'Is controlesignaal 1 true?
Dan werkt het niet. Wat doe ik fout?

Alvast dank voor het meedenken!!
 
Heb je die DLL wel eerst geregistreerd met regsvr32?

En "dat werkt niet" zegt niks.
Je krijgt er vast een foutmelding op.
 
Laatst bewerkt:
Private Declare Function airenceSetLed Lib "Airecne.DLL" (ByVal lednr as Integer, colors_t_color as integer) as Integer

is iig niet goed volgens je eigen beschrijving :p
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan