03/05/08 12:21
gismo
ok..ho fatto un pò di prove..però non mi funziona..
sicuramente sbaglio qualcosa..
ti posto il codice..dimmi se vedi l'errore..
per ovvi motivi ti posto solo i punti salienti..
Ora il codice nel VB:
all'evento click il valore 2 dovrebbe finire in una textbox con li seguente codice..
al momento mi stampa solo 0 nelle textbox, sono abbastanza sicuro che il problema sia nel puntatore alla funzione C..anzi ne sono certo..
se ci capisci qualcosa sarebbe fantastico
fammi sapere
grazie
sicuramente sbaglio qualcosa..
ti posto il codice..dimmi se vedi l'errore..
per ovvi motivi ti posto solo i punti salienti..
//Codice DLL - c //ministruttura di prova struct Test{ short int n; }; .. //procedura da eseguire per il VB //dovrebbe scrivere nel campo TYPE del VisualBasic il numero 2 void __stdcall prova(struct Test *Op){ Op->n = 2; }
Ora il codice nel VB:
'Dichiarazione funzione DLL Public Declare Sub prova Lib "testDll.dll" (ByRef struct As Test) 'struttura uguale a quella del C Type Test numero As Integer End Type
all'evento click il valore 2 dovrebbe finire in una textbox con li seguente codice..
Private Sub Command1_Click() Dim struct As Test 'richiamo la procedura definita prova struct 'scrittura del numero della textbox Text1.Text = CStr(struct.numero) End Sub
al momento mi stampa solo 0 nelle textbox, sono abbastanza sicuro che il problema sia nel puntatore alla funzione C..anzi ne sono certo..
se ci capisci qualcosa sarebbe fantastico
fammi sapere
grazie
aaa