Bonjour tous.
Je suis Zadmalck, mais on m'appelle Zad, je viens du monde GNU/Linux et je suis un passionné de vol à voile, en réel et en simulation avec le simulateur Condor Soaring sous Windows.
Je me suis mis à Visual Studio Community 2015 en C#, il y a quelques jours. Je trouve cet environnement de développement For Mi Dable.
Résumé de mon problème :
Je n'arrive pas à me servir d'une DLL apparemment provenant de Delphi (J'ignore la version) en C#
Ressources pour que vous puissiez avoir tout ce qu'il faut pour m'aider :
http://zadmalckz.free.fr/annexe.zip : contient le fichier TRN et le fichier FPL
http://zadmalckz.free.fr/Condor.zip : le code source de mon test avec Visual Studio Community 2015 en C#
Explications :
Le jeu Condor Soaring qui a été fait en Delphi (je ne sais pas quelle version) contient une DLL, NaviCon que l'on trouvera dans le dossier du projet dans un dossier Navicon. Cette DLL permet de faire la conversion des points écrans entre la scène ou l'on se trouve (Slovenia dans l'exemple) et la position en Latitude et longitude décimale des TPs du circuit de la course. Dans ce même dossier, un fichier FPL.pas issue d'une personne tierce qui a concu un programme en delphi qui utilise cette DLL NaviCon.dll et qui fonctionne.
Ce circuit est sous la forme d'un fichier FPL dans CondorSoaring. Vous trouverez ce fichier dans annexe.zip
La scène Slovenia quant à elle contient un fichier TRN (Généré avec terragen) créé par le concepteur de la scène. Ce fichier se situe dans annexe.zip. Ce fichier est utilisé par la DLL navicon avec la méthode NaviConInit.
Je ne connais pas la structure de ce fichier TRN et je n'ai pas besoin de la connaitre. A l'initialisation de la DLL NaviCon, on doit appeler la fonction NaviConInit avec en paramètre le chemin du fichier TRN.
Pour le TP1, les coordonnées écrans dans la scène pour ce circuit sont :
TPPosX1=180345.140625
TPPosY1=91709.90625
Le but de la DLL navicon.dll est de pouvoir convertir ces coordonnées écran 180345.140625 et 91709.90625 en latitude/longitude décimale. Ce qui me permettra ensuite en C# de tracer le circuit constitué des TPs Depart, TP1, TP2, Arrivee et de les mettre sur une carte de relief via la bibliothèque GMap.NET. On trouve les DLL référencées dans C# dans le répertoire GMap.NET dans Condor.zip
Mon problème se situe à la ligne 90 :
ok = NaviConInit(ref trn);
La fonction renvoi toujours faux. trn étant la variable contenant le chemin du fichier TRN.
Dans mon projet de test, j'affiche une boite d'alerte si NaviConInit est faux ( vrai si <> 0)
Mon programme de test doit m'afficher sur la carte les TPs du circuit quand j'aurai avec votre aide résolu ce problème.
Je vous remercie d'avance pour votre aide et peut-être à bientôt avec le simulateur de vol à voile Condor.
Partager