Se connecter avec
S'enregistrer | Connectez-vous

fonction C retournant une chaîne de caractères à VB

Dernière réponse : dans Programmation

Bonjour,

J'ai commencé à développer une DLL en C et je veux appeler les fonctions de ce DLL depuis VB.
Le problème est que lorsque je veux appeler une fonction C qui retourne une chaîne de caractères, le VB voit cette chaîne vide ("").
Le code C est de type :


char str[256];

char * __stdcall RetourneString( void )
{
strcpy(str, "Coucou !");
return( (char *) &str );
}


et le code VB :

Private Declare Function retourneString Lid (myDLL.dll" Alias "RetourneString" () As String

Sub Test()
MsgBox retourneString
End Sub

J'ai lu le topic sarl_adc http://forum.presence-pc.com/presencepc/Programmation/-... et dans mon cas, VB ne se plante pas.
Pour info, il existe une solution qui consiste à passer une chaîne de caractères par argument d'une fonction C mais pour une raison de pratique, je aimerais écrire une fonction qui est capable de retourner la chaîne de caractères à VB.
Donc juste deux questions : est-ce possible, et si c'est oui, comment faire marcher cette fonction ?
Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte