See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: Question de C++  (Read 2945 times)

0 Members and 1 Guest are viewing this topic.

Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
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 ?



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 21 June 2006, 20:34:35
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


Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #2 - 21 June 2006, 21:05:26
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 !



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 21 June 2006, 21:06:26
Je te donne ca plus tard le code est sur mon autre PC...

A++

Dan


Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #4 - 21 June 2006, 21:20:07
Merci Dan, parce que là je bloque complet...



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #5 - 22 June 2006, 02:57:48
Regarde du coté de "GetProcAddress" et "dllexport"
si tu googlise tu trouvera des bout de codes exemples.

A++

Dan


Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #6 - 23 June 2006, 23:02:55
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 !



La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !

Offline laserpithium

  • Legend
  • ******
  • Posts: 1473
  • Karma: 0
Reply #7 - 24 June 2006, 18:47:08
C'est bon, j'ai trouvé !


« Last Edit: 24 June 2006, 18:47:08 by laserpithium »

La sagesse me cours après, mais je suis plus rapide
Si Dieu existe, butons-le !