Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Migrer un exe activex vb6 en vb.net

2 réponses
Avatar
Mihai
Bonjour,

je dois migrer un exe activex (vb6) to vb.net. Si je fais la migration vers
un .exe (Windows Application) comment exposer des méthodes publiques, comme
dans l’ancien ActiveX EXE ?
J'ai essayé de référencer le nouveau .exe dans un autre Windows Application
(VB.NET) mais il n'arrive pas (seulement les .dll peuvent être référencés).
J'utilise VS2003.

Pouvez-vous me donner quelques informations ?

Cdlt,
Mihai

2 réponses

Avatar
Cyril P.
Bonjour,

En effet il n'est pas possible de referencer un executable dans un projet
avec vs.net 2003.

Si tu as comme impératif de réutiliser un exe et de le referencer au sein
d'une autre application, sache que cette opération est réalisable avec vs.net
2005 ou en compilant avec le compilateur en ligne de commande csc.exe avec
le switch /reference vers ton executable.

Malgré tout, la solution la plus propre est de recréer ton activex sous
forme d'un controle utilisateur que tu distibues sous forme d'une dll (une
librairie de projet quoi). Inclure ce dernier dans une application
'contenante' toute simple en vb.net ne posera aucun soucis (pour redistribuer
le tout avec un exe). De même, ce contrôle pourra même être réutilisé, via
quelques lignes de code, dans une page web (redemande moi si tu veux plus de
details sur ce sujet).

Cordialement,
--
Cyril PINEAU
.Net Technical analyst
CNPPF France


"Mihai" wrote:

Bonjour,

je dois migrer un exe activex (vb6) to vb.net. Si je fais la migration vers
un .exe (Windows Application) comment exposer des méthodes publiques, comme
dans l’ancien ActiveX EXE ?
J'ai essayé de référencer le nouveau .exe dans un autre Windows Application
(VB.NET) mais il n'arrive pas (seulement les .dll peuvent être référencés).
J'utilise VS2003.

Pouvez-vous me donner quelques informations ?

Cdlt,
Mihai


Avatar
Mihai
Bonjour,

Merci pour votre réponse.
Moi aussi j'ai pensé à cette solution mais j'ai un souci : avec l'Activex
EXE j'ai pouvais partager des info (concernant l'utilisateur connecté) entre
2 applications (1 IHM EXE vb6 et un projet VBA Autocad 2004).

Maintenant si je vais transformer l'Activex EXE dans un EXE normal (VB.NET)
et un dll (VB.NET) comment partager cette info entre le nouveau EXE et le
projet VBA ?

J'ai fait plusieurs tests et la dll est chargé dans des espaces mémoires
différents et donc l'info n'est pas partagé.
J'ai trouvé une solution sur un forum (MemoryMappedCache) mais je me demande
s'il n'y a quelque chose plus simple.

Bien sur je peux l'implémenté au niveau de la base de données mais je
voulais éviter ça.

Cdlt,
Mihai


"Cyril P." a écrit :

Bonjour,

En effet il n'est pas possible de referencer un executable dans un projet
avec vs.net 2003.

Si tu as comme impératif de réutiliser un exe et de le referencer au sein
d'une autre application, sache que cette opération est réalisable avec vs.net
2005 ou en compilant avec le compilateur en ligne de commande csc.exe avec
le switch /reference vers ton executable.

Malgré tout, la solution la plus propre est de recréer ton activex sous
forme d'un controle utilisateur que tu distibues sous forme d'une dll (une
librairie de projet quoi). Inclure ce dernier dans une application
'contenante' toute simple en vb.net ne posera aucun soucis (pour redistribuer
le tout avec un exe). De même, ce contrôle pourra même être réutilisé, via
quelques lignes de code, dans une page web (redemande moi si tu veux plus de
details sur ce sujet).

Cordialement,
--
Cyril PINEAU
.Net Technical analyst
CNPPF France


"Mihai" wrote:

> Bonjour,
>
> je dois migrer un exe activex (vb6) to vb.net. Si je fais la migration vers
> un .exe (Windows Application) comment exposer des méthodes publiques, comme
> dans l’ancien ActiveX EXE ?
> J'ai essayé de référencer le nouveau .exe dans un autre Windows Application
> (VB.NET) mais il n'arrive pas (seulement les .dll peuvent être référencés).
> J'utilise VS2003.
>
> Pouvez-vous me donner quelques informations ?
>
> Cdlt,
> Mihai