La réf d'objet pas définie à une instance d'obj [VB.NET et dll en C++] - C++ - Programmation
Marsh Posté le 05-05-2004 à 11:39:49
strcpy(*chaine,"Hello World !" );
cai quoi un LPSTR ? si c'est un char* planqué ...
-> strcpy(chaine,"Hello World !" );
Marsh Posté le 05-05-2004 à 12:00:12
De mémoire je crois qu'il faut curieusement déclarer ByVal au lieu de ByRef dans : (ByRef maChaine As String)
Marsh Posté le 05-05-2004 à 13:04:02
Taz a écrit : strcpy(*chaine,"Hello World !" ); |
non
erreur à la comilation
merci pour ton aide
Marsh Posté le 05-05-2004 à 13:04:43
cricri_ a écrit : De mémoire je crois qu'il faut curieusement déclarer ByVal au lieu de ByRef dans : (ByRef maChaine As String) |
je vais tester ça des que j aurai fini mon sandwich
Marsh Posté le 05-05-2004 à 13:04:58
ReplyMarsh Posté le 05-05-2004 à 13:35:16
cricri_ a écrit : De mémoire je crois qu'il faut curieusement déclarer ByVal au lieu de ByRef dans : (ByRef maChaine As String) |
non ça marche pas
Marsh Posté le 05-05-2004 à 13:38:53
Mais as-tu bien crée un .def dans ton projet Dll déjà pour redéfinir la fonction exportée et éviter la décoration ?
Marsh Posté le 05-05-2004 à 14:11:59
Citation : ça changerait quoi ? |
que c'est pas des char * ou un LPSTR mais des wchar_t * ou LPWSTR
Marsh Posté le 05-05-2004 à 14:14:37
HelloWorld a écrit : Il me semble que les chaines VB sont unicodes. |
après documentation : exact
j'ai changé l'entête de ma fonction mais rien de changé à part ça
Marsh Posté le 05-05-2004 à 14:15:15
cricri_ a écrit : Mais as-tu bien crée un .def dans ton projet Dll déjà pour redéfinir la fonction exportée et éviter la décoration ? |
oui oui
Marsh Posté le 05-05-2004 à 14:16:17
HelloWorld a écrit :
|
non en fait c'est ansi, et j'ai remis ANSI ds mon entête.
mais je pense pas que ce soit l'origine de mon erreur.
Marsh Posté le 05-05-2004 à 16:48:08
Remplace par un messagebox + void Test(void) pour savoir si c'est ton code/passage de param qui est fouarreux ou autre chose.
Marsh Posté le 05-05-2004 à 10:30:13
(desolé pour le titre, j'ai du abréger)
bonjour.
je dois créer une dll en c++ à utiliser sous VB.NET.
disons que j'ai un problème, et que pour le résoudre j'ai effectué quelques tests.
En voici un :
dans ma dll je mets :
donc ma dll reçoit une chaîne de caractères.
dans mon code VB.NET, je mets :
puis dans une form je crée le bouton :
toutes les compilations se déroule bien, et à l'éxecution j'obtiens :
La référence d'objet n'est pas définie à une instance d'un objet
Si je "vide" la procedure "Test" de ma dll, ça fonctionne (mais ça fait rien !).
Je pense qu'il s'agit d'une erreur tout bête mais j'avoue être bien coincé dessus.
merci d'avance pour votre aide.
DaNeeL
Message édité par daneel17fr le 05-05-2004 à 10:30:44