Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Problème de passage d'un tableau de caractère vers un DLL en C [ Windows / API ] (Philipina)

jeudi 21 février 2008 à 18:12:59 | Problème de passage d'un tableau de caractère vers un DLL en C

Philipina

Bonjour,

Je dois utiliser un DLL écrite en C dans un programme VB6. Un des parametres que je dois passer à la structure suivante en C.
----------------------
struct SToken
{
    char sToken[33];
    char sResponseToken[33];
};
---------------------
Sous VB je l'ai déclaré de la manière suivante
----------------------
Public Type SToken
    SToken As String
    sResponseToken As String
End Type
----------------------

Le problème est que si je mes la value "test" sous VB dans la variable SToken.SToken, du coté C j'obtiens autre chose.
J'imagine que cela est du au fait que du coté C la variable est un tableau de char et du coté VB la variable est une string
Pouvez-vous me dire comment puis-je résoudre ce problème et passer correctement la structure Stoken à la DLL?

Merci d'avance pour votre aide.

Alain.

Remi


jeudi 21 février 2008 à 19:29:37 | Re : Problème de passage d'un tableau de caractère vers un DLL en C

jack

Administrateur CodeS-SourceS
Réponse acceptée !
Salut
Je ne pourrais te donner de solution ne connaissant pas trop .Net et pas du tout C
Je sais que C fonctionne souvent plus avec les adresses mémoires des chaines qu'avec les chaines elles-mêmes.
Voir aussi les problèmes éventuels de communication avec des chaines Unicode (sous VB)

Idées :
- Si l'étendue des chaines définie sous C est de 33 caractères, il serait souhaitable de faire pareil côté VB
Essaye de voir si le formatage   SToken As String * 33   fonctionne
- Voir s'il faut envoyer aussi un Chr(0) en fin de chaine (norme), je crois que les chaines sous C se servent de ce caractère pour déterminer la fin de chaine
- Essaye aussi de transférer un tableau de 33 Bytes correspondant à cette chaine

Voir les diverses questions à ce sujet sur le forum :
http://www.vbfrance.com/recherche.aspx?tr=forum&r=vb+dll+c

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

jeudi 21 février 2008 à 22:28:57 | Re : Problème de passage d'un tableau de caractère vers un DLL en C

Renfield

Administrateur CodeS-SourceS

deux tableaux de 33 octets... on est d'accord.
déclarer As String ne t'aidera pas a grand chose.

Renfield
Admin CodeS-SourceS- MVP Visual Basic

vendredi 22 février 2008 à 08:38:37 | Re : Problème de passage d'un tableau de caractère vers un DLL en C

Philipina

J'ai trouvé la solution:

Public Type SToken
    SToken As String * 33
    sResponseToken As String * 33
End Type

Alain


vendredi 22 février 2008 à 10:18:16 | Re : Problème de passage d'un tableau de caractère vers un DLL en C

Renfield

Administrateur CodeS-SourceS
... tu es sur d'être en VB.Net, ou t'es tu trompé de catégorie, nous faisant partir sur de mauvaises pistes ?

vendredi 22 février 2008 à 10:33:01 | Re : Problème de passage d'un tableau de caractère vers un DLL en C

Philipina

Oups, oui je me suis trompé de catégorie , je suis en VB6.

Alain


vendredi 22 février 2008 à 10:39:10 | Re : Problème de passage d'un tableau de caractère vers un DLL en C

Renfield

Administrateur CodeS-SourceS
ok, Jack t'avais donc indiqué la solution a ton soucis... bonne continuation

vendredi 22 février 2008 à 10:49:21 | Re : Problème de passage d'un tableau de caractère vers un DLL en C


Cette discussion est classé dans : problème, dll, tableau, char, stoken


Répondre à ce message

Sujets en rapport avec ce message

Passage à une dll d'un tableau de chaines de caracteres [ par khelif ] J ai une function en C qui recupere un tableau de pointeurs sur chaine de caracteres (nom d'un fichier)En Vb je desire appeller cette fonction avectab Passage d'un tableau de byte à une fonction encapsulé dans un ACtiveX Dll [ par novik ] J'aimerai pouvoir passer un tableau de Byte a ma fonction (Activex Dll)lors de l'appel j'ai une erreur Type Mismatch.Or lorsque j'appelle cette foncti Problème d'utilisation de DLL [ par JP ] Bonjour,J'ai entendu dire qu'il y avait un problème quand 2 programmes veulent utiliser la même DLL en même temps.Quelqu'un pourrait - il, m'en expli Passer un tableau de string de VB vers une DLL C++ [ par paco ] Salut, mon problème est le suivant : je désire travailler avec des tableaux de string dans une de mes DLL C++. Ces tableaux, dynamiques, doivent venir problème primaire de tableaux [ par undo ] Admettons un tableau as string, mettonsdim Noms(120), rempli de chaines de caractères parfois identiques.admettons un autre tableau, vide, NomUnique(x Form et DLL Active X ( HELP !!!! ) [ par GrosLolo ] Voici mon petit problème :J'ai écrit une DLL ActiveX qui utilise une 'Form'. J'ai donc un module de classe qui à un moment appelle la 'Form' et l'affi Problème de dll (PS: GROS Problème) [ par schouly ] J'ai créé une dll pour mon application (référencée dans Projet/Références ... ) et elle fonctionne. Je l'utilise comme ça :Temp = "Impression"Set DllO Appel d'une dll C++ [ par celine ] Bonjour , je dois me servir d'un dll ecrite en C++ dont le proto est :Unsigned short MaFonction( char * blabla, char * blabla2, bool blabla3)... Je la problèùùe avec accès dll (urgent !!!) [ par abicabloc ] Bonjour à tous.Je développe actuellement une application sous vb, et j'ai créer une dll contenant des informations auxquelles je souhaite accéder, ce


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,842 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.