Appel tlb COM 64bits à partir d'une appli vb6 32bit sur W7x64

Fermé
spectro2 Messages postés 4 Date d'inscription mercredi 4 juillet 2012 Statut Membre Dernière intervention 5 février 2013 - 24 janv. 2013 à 05:14
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 24 janv. 2013 à 08:13
Salut à tous,

J'ai une TLB COM "Test.tlb" développée en .net C# compilée en 64bits qui tourne sur un windows 7 x64.
Sur le même système j'ai un programme VB6 compilé en 32bits dans lequel j'ai créé une référence vers ma tlb.
Lorsque je veux faire un a = test.gettoto() j'ai une erreur 429 le composant activeX ne peut appeler l'objet.

En gros j'ai :
Dim test as new Test.cst()
Dim a as string
a = test.gettoto() <= erreur 429

Qu'est ce que je peux faire les copains ?

Merci

1 réponse

lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
24 janv. 2013 à 08:13
Bonjour,
Sans savoir ce que tu traite dans ton .COM, si tu à des variables déclarées en Long, elle ne pourront pas êtres traitées par du 32bits
Vu dans aide..
Considérations sur l'interopérabilité. Si vous utilisez des composants non écrits pour le .NET Framework, par exemple des objets Automation ou COM, n'oubliez pas que Long possède une largeur de données différente (32 bits) dans d'autres environnements.Si vous passez un argument de 32 bits à un tel composant, déclarez-le comme type de données Integer et non comme Long dans votre nouveau code .Net.
A+
0