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: Choisir un dossier en vue d'installer une DLL EXTERNE à ORBITER .  (Read 2856 times)

0 Members and 1 Guest are viewing this topic.

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
25 July 2010, 17:30:24
Salut à tous !
J'ai besoin de votre avis sur un sujet qui me préoccupe : L'installation de fichiers et Orbiter .
J'ai l'intention de créer au moins un plugin ( Dll) qui fera appel à une autre DLL de mon cru , ne faisant pas partie du SDK d'Orbiter.
Dans un souci de clarté , et aussi pour créer quelque chose qui ressemble à la communauté , je voudrais savoir :

_ Supporteriez-vous que j'utilise la base de registre pour permettre à un Installateur de nettoyer la dll en cas de déinstallation . Je sais que ce n'est pas dans les habitudes , et j'aimerais savoir si la Tradition est bien ancrée ou si
une évolution est possible à ce sujet .

_ Dans quel dossier aimeriez-vous que je dépose ma dll ?
Mélangée avec les plugins ?
Dans un dossier Plugin\ SpockDLL ?
Dans le system32 ?

L'utilisation de cette dll néccéssite que son emplacement soit connu de mon plugin .

Dans la version 2010 d'ORBITER , je pensais à ORBITER-2010\Modules\Plugin et créer un dossier Extra .
Ce dossier pourrait servir aussi à d'autres initiatives .
Donc , pour ou contre ORBITER-2010\Modules\Plugin\Extra ?
Un autre avis ?
I need you , you , you ,you ...
MrSpock ! ( et non l'oncle Sam...)
:siffle:

SCORE : Base de registre : -1
Réflexion faite, il y a aussi les .ini ...
Re :siffle:



Message modifié ( 25-07-2010 18:38 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #1 - 25 July 2010, 18:01:41
Pour les bases de régistres je n'aime pas beaucoup. Je déteste tous les installeurs car on ne sait pas ce qu'il font et lorsqu'on désintalle, ils nous laissent plein de trucs un peu n'importe où. Personellement, je préfère de loin un fichier .zip qu'on extrait où l'on veut. Ce n'est pas pour la tradition d'Orbiter mais plutôt par sécurité et réconfort personnel :).

Pour l'emplacement de la DLL, system32 :sick:, tout ceux qui n'ont pas les droits d'administrations ne pourront pas installer et tout le monde préfère ne pas trop jouer dans les fichiers de Windows. Perso, je mettrais la DLL dans Plugin tout simplement. Pourquoi le mettre dans Plugin\Extra ?


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #2 - 25 July 2010, 18:16:14
Merci pour ta réponse .

-1 pour la base de registre ( je crois que je vais faire un compte en haut ... )
Extra , car il ne sera pas chargé dans Orbiter par la voie Normale , mais invoqué ( wOoOo ...) à partir de mon
plugin ( QUi lui sera un processus d'Orbiter ) .
Mon projet comporte donc  2 Dll . (J'ai rectifié le post initial grâce à toi : manque de précision ...)
Cela devrait me permettre de ne pas avoir un code trop chargé et aussi correspond à un besoin de monitoring externe.
Enfin , j'me comprends ...
Extra , c'est ... Extra ! Je suis ...

:boulet:
MrSpock.



Message modifié ( 25-07-2010 18:39 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #3 - 25 July 2010, 20:07:52
Le moyen le plus propre serait de ce passer de ces dll, il n'y a pas une lib linkable en statique ?
C'est pour quoi faire exactement ?

Dan



Message modifié ( 25-07-2010 20:08 )


Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #4 - 25 July 2010, 21:46:58
A la base , l'idée m'est venue d'utiliser ce système en observant un diagramme de Tofitouf concernant son AddOn Manager . Le diagramme représentait le concept d'une relation Serveur/Client , faisant se connecter d'un coté une
Interface Web et de l'autre Orbiter .

 Je cherchais , moi , à développer un coté multijoueur .
J'ai éssayé de compiler les libs du sdk sous Borland , mais impossible :
Code d'erreur " Probably C00F File " .
VC++ demandant de gros efforts d'adaptation , l'idée m'est venue de produire le plus gros de mon code sous BorlandC++,
de lier la Dll produite à un plugin " classique " , produit sous vc++ . (juste les callbacks à implémenter).
 Le but pour l'instant est d'arriver à sortir des données du simulateur , le plugin intégré étant soit Client soit Serveur .
Pour l'instant , je mets en place un système de PIPE (sdkWin32) dans ce but ( c'est l'occasion pour moi d'apprendre cette technique ). Tofitouf ayant choisi d'utiliser le protocole Tcp/ip , j'ai trouvé interressant de travailler en paralèlle sur une
architecture qui pourrait lui servir d'alternative au cas où le TCP ne conviendrait pas , ou d'un autre canal .
 Les applications sont nombreuses , et pour ne pas trop me répéter , je t'invite quand tu auras le temps à lire le
fil intitulé W32 SDK<-> ORBITER ,Possible ou pas ? C'est la que j'ai commencé à imaginer des " choses " dans l'Univers
d'Orbiter .
Etant dans une phase de "Bricolage" , je ne saurais te répondre EXactement , je dispose pour l'instant des ...grandes
lignes .

 Orbiter , comme tu le disais , est un super terrain d'apprentissaage .
Merci pour ton intérêt et ta participation !;)
SPock !


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15407
  • Karma: 256
  • Hein, quoi !?
    • FsPassengers
Reply #5 - 26 July 2010, 01:02:37
Si je peux me permettre:

VC++ est surtout "compliqué" au moment de l'installation, une fois que tu arrive à compiler c'est un superbe outil très complet, simple, incroyablement puissant et surtout parfaitement compatible et fonctionnel sur du win32/mfc à fortiori encore plus avec Orbiter vu que martin l'utilise. Rajouter des étapes "exotiques" genre borland c'est éventuellement gagner du temps pour en perdre dix fois plus en cours de projet si ce n'est le planter carrément pour des problème de lib, d'incompatibilité insolubles si ce n'est de doc, tuto ou résolution de problème absent (tout le monde utilise VC pratiquement)

La règle no1 en prog c'est presque le rasoir d'Ockham: le plus simple possible, le plus standard et compatible possible. La prog est suffisamment bourrée d'écueils en tout genre pour ne pas en rajouter artificiellement. Question emmerdes sur un gros projet tu prend le pire que tu imagine et tu multiplie par cent. (J'avais prévu 3 mois sur FsP ça m'a pris 14 mois à 12h par jour pratiquement)

Pour le projet de multijoueur nous avions une sorte de site qui permettait de jouer des scénario à plusieurs , L'agence Spatial virtuelle Francophone. ça n'a jamais eu plus qu'une dizaine de client et l'intérêt est tombé très vite, Orbiter de part sa nature ne ce prête pas bien au multijoueur. (distance, temps, objectif) En marge de ce projets d'autres ont essayé en 6 ans il n'est jamais rien sortit de très probant et le seul qui marchait est tombé dans l'oubli, manque d'intérêt aussi.

Pour finir c'est un projet monstrueux, même avec un concept viable et des "clients" (utilisateurs) potentiel j'hésiterais vraiment à me lancer dedans. Usine à gaz et à emmerde en perspective.


PAR CONTRE !!!! :badsmile:

ça manque vraiment de chouette vaisseaux ou fusée plus avancés qu'une shuttlePb, et là on peut y aller progressivement, bouton par bouton, pilote auto par pilote auto pour finir par des trucs super sympa comme le XR2, le DGIV un  shuttles fleet ou du AMSO.

C'est vite vu, j'ai voulu rajouter un bouton au deltaglider, j'ai finalement releasé un DGII, DGIII et DGIV au cours des ans pour finir "pro" dans la prog. Tout ça c'est grâce à orbiter.

Savoir programmer même des trucs sympa c'est une chose, tout le monde peut sortit une jolie démo même 3d, savoir FINIR un projet est une tout autre compétence et de coté il ne faut pas vouloir commencer trop gros. Un projet petit mais bien carré et bien fini vaut mille fois plus question connaissances et apprentissage qu'un machin super ambitieux, bourré de bug, jamais fini et au final démoralisant.

En plus coté intérêt, il sort des centaines d'addons mais des vaisseaux plus évolué qu'un ShuttlePB ça reste rare, si on compte les projets carré et bien fini ça doit être sur les doigts des deux mains.

La il y a de la clientèle MÊME pour un ShuttlePB avec un superbe VC et des systèmes cool et voir le compteur download qui monte est un puissant moteur pour continuer et avancer.

En dernier la SDK vessel de Martin est un rêve, un modèle du genre qui t'apprendra plein de principes aussi valable avec les autres SDK, je ne parle pas de instructions ou de la doc forcément différentes mais sur le principe général, la manière d'intégrer une SDK, trouver des infos les principes de fonctionnement etc. etc.

Et puis faire un vessel c'est incroyablement sympa. ;)

A++

Dan



Message modifié ( 26-07-2010 01:04 )


Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #6 - 26 July 2010, 01:48:09
Ouch !( SPécial combo ! Hit !hit ! hit !).

 Merci , merci , merci .
Pour ta franchise et le partage de ton expérience , c'est du bonheur à l'état pur .
J'entends par là que ce n'est pas une sagesse extraite d'un livre, mais de ton expérience .
Tu as raison , tu le sais , je le sais , nous le savons .
Bien sûr que tout ce que tu exposes comme emmerdes , c'est le bourbier dans lequel je me suis enlisé si souvent.
Et c'est vrai qu'il est vain de rechercher la complexité quand elle s'invite toute seule !:badsmile:

 Avant de me lancer à " corps perdu " dans une aventure multijoueur , j'ai fait ma petite enquête , et je suis arrivé
par déduction à rejoindre ton expérience ( Il te reste quand même l'indiscutable avantage du vécu - j'espère bien ne pas en perdre une miette ) . Et la question de l'interêt propre à Orbiter je l'ai découvert en parcourant ce forum .
J'entends bien ton invitation à rejoindre le rang des concepteurs de vaisseau et j'en comprends bien la raison ( comment comprendre les forces de l'Univers d'Orbiter et leurs réactions sinon ? ) . C'est vrai que je n'ai pas encore abordé la question , et c'est normal que la question se présente à moi : c'est une invitation .

Puisque tu m'invites à réfléchir , et au-delà me diriger vers l'action , je ne te résiste pas .
D'autant plus qu'ils sont nombreux les exemples qui confirment tes propos .
C'est certain que connaître le vrai fonctionnement d'une CALLBACK , c'est un acquis précieux , se passer d'un environnement graphique progressivement est un plus ( que ne permet certes pas Borland - J'dis çà par rapport au mfc que tu m'as ... sussuré ( si si si si ...) comme alternative .). Bah , on ne te la fait pas !Et moi je ne le cache pas .

Quote
Savoir programmer même des trucs sympa c'est une chose, tout le monde peut sortit une jolie démo même 3d, savoir FINIR un projet est une tout autre compétence et de coté il ne faut pas vouloir commencer trop gros. Un projet petit mais bien carré et bien fini vaut mille fois plus question connaissances et apprentissage qu'un machin super ambitieux, bourré de bug, jamais fini et au final démoralisant.

 DOnc , je retiens d'abandonner l'idée du mouton à 5 pattes , d'opter pour la compatibilité , et de commencer par là où
tout le monde commence . Et la multiplication du temps de travail ...
Merci d'avoir pris le temps pour me donner ces conseils , DANSTEPH ! Il me reste à méditer .
:zen:
MrSpock .


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline tofitouf

  • Legend
  • ******
  • Posts: 1380
  • Karma: 0
Reply #7 - 26 July 2010, 17:03:37
Yes dan est de retour, salutation Maiiiiiitre.

ca fait des années qu'il tente de nous disuader de faire du multijoueur :) le vilain. Et il a surement raison.
Il a essayé de me dissuader pour les challenges aussi....  mais je suis plus tétu qu'une armée de mulet.

donc je continue de mon coté et tant pis si au final y'a que 10 personnes interessées ce qui a l'air d'être le cas voire moins.

en tout cas je partage son point de vu sur ne pas s'attarder sur borland, tu risuqe d'y rencontrzer des problèmes qu'on a jamais eu de notre coté et on sera bien incapable de te repondre.

néammoins pour répondre à la question initiale, le seul vrai moyen de charger une dl externe depuis un plugin d'orbiter est de la mettre à coté de l'exe d'orbiter. dans ton code tu fait un LoadLibrary avec le nom de la dll en question. et tu mappe les addresse de focntion. bonjour la galère.

si vraiment borland t'es indispensable, crée une lib statique tu auras mille fois moins de soucis.


---------------------------------------------

PC en rade, codage en panne.... Nom de Zeus

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #8 - 26 July 2010, 17:18:40
Le problème ,cher ami , c'est que la lib statique de Borland , Microsoft risque de ne pas bien la digérer .
Une dll, je sais comment lui imposer !
Mais ceci dit , j'adhère complètement à ce que dit Dan , et à moins de réaliser quelque chose de fantastique , le fait
de coder quelque chose de difficile mais qui n'est pas apprécié ou utilisé est FRUSTRANT et DEMORALISANT .
Dan veut m'éviter des chagrins et autres soucis, je l'en remercie . Et coder un VESSEL c'est une aventure aussi .
Comme je te le disais en off ," mes fantaisies " pourront être une exclusivité de mes VESSELS , utilisées ou pas .

 La partie EXTRA , à la limite , ne concerne pas le core d'Orbiter , et sera codée à part .
Voilà !
:merci:
SPock .



Message modifié ( 26-07-2010 19:18 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline pilote334

  • Sr. Member
  • ****
  • Posts: 300
  • Karma: 5
Reply #9 - 27 July 2010, 10:51:03
Je rejoins partiellement ce que dit Dan concernant le multijoueur et son intérêt dans Orbiter. Voilà pourquoi j'ai ré-orienté mon projet vers un module co-pilotage, plus simple à réaliser et ne posant pas les problèmes de distances puisque tour les participants sont dans le même vaisseau. Cela pourrait être un formidable outil de partage d'expérience, en plus. Donc, malgré les écueils nombreux, certes, je m'accroche....

Yves


Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #10 - 27 July 2010, 16:23:35
Tu fais bien , car ton module permettrait ( ne serait-ce qu'à deux ) d'introduire la notion de double commandes ,
indispensable dans une Navette-école !
J'me comprends ...
MrSpock .


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #11 - 28 July 2010, 18:15:50
ah ouais, une double commende sur une navette école, pas y mettre Gaston et M'oiselle Jeanne alors ...


« Last Edit: 28 July 2010, 18:22:35 by cslevine »

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #12 - 28 July 2010, 18:22:35
Agence Virtuelle de rencontre Intersidérales en ligne .... Pourquoi pas !
Je t'avais promis la Lune , Tu l'auras !
...M'enfin !
Spoiler  :
SCOGNEUGNEU
:lol:
Spock.


« Last Edit: 28 July 2010, 18:22:35 by MrSpock »
Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos