Dan's Orbiter page
Orbiter Francophone => Création Orbiter Francophone => Topic started by: laserpithium on 21 June 2006, 18:37:56
-
Je voudrais savoir si c'est possible de faire la chose suivante:
- Je crée un vaisseau (nommé A), codé par la dll A.dll. Ce vaisseau est présent dans la simulation
- Dans cette dll, j'ai une fonction maFunction()
- Je suis dans un vaisseau quelconque (par exemple le DGIII), et j'ouvre un MFD.
- Question: est-il possible d'appeller, depuis la MFD ouverte dans le DGIII, la fonction maFunction() présente dans la dll du
vaisseau A ?
Un truc du genre:
A->maFunction().
est-ce que ça marche ou pas ?
-
Oui c'est assez compliqué, c'est ce que fait la SDK d'OrbiterSound
qui depuis la DLL d'un vaisseau appelle des fonctions de la DLL
orbitersound.
Dan
-
Génial !
Tu codes comment par contre ?
- Est ce que la fonction dans le dll du vaisseau doit avoir des attributs particuliers ?
- Comment tu appelles cette fonction depuis la dll du MFD ? Juste en faisant monVaisseau->maFonction() ?
Merci Dan !
-
Je te donne ca plus tard le code est sur mon autre PC...
A++
Dan
-
Merci Dan, parce que là je bloque complet...
-
Regarde du coté de "GetProcAddress" et "dllexport"
si tu googlise tu trouvera des bout de codes exemples.
A++
Dan
-
Salut Dan,
Bon, j'ai un peu tout remis à plat, et du coup c'est beaucoup plus simple.
Je n'ai plus qu'à réaliser le truc suivant:
- J'ai une dll pour un vaisseau (monVaisseau.dll)
- J'ai une dll pour une MFD (maMFD.dll)
J'ai une variable (type int) déclarée et initialisée dans maMFD.dll. Je souhaite pouvoir à tout instant passer la valeur de
cette variable à monVaisseau.dll.
Est-ce qu'il me suffit de déclarer en dllexport maVariable dans maMFD.dll, où il faut faire quelque chose de plus compliqué ?
Merci Dan !
-
C'est bon, j'ai trouvé !