Page d'accueil de Aeropassion
Partenaires du site :
Envoyé par vercomax 
Développer un plugin en VB
jeudi 15 décembre 2011 20:33
@jerome

tu dis "Normalement les types de données sont compatible avec le vb. Donc des que tu as compilé un plugin en vb tu peux lancer Jedicut. Si Jedicut le propose lors de l'ouverture des fichiers c'est qu'il est bien codé. "
Que je fasse en vb ou c++ il va bien falloir que je sache ce que jedicut attend et dans quel ordre pour traiter le fichier dans sa moulinette ? Je vois que dans UFile.pas il y a des variables utilisées dans CNCTools, ce sont ces variables qu'attend jedicut en retour ?
Merci.



Modifié 1 fois. Dernière modification le 17/12/2011 08:54 par Jerome.
Re: Développer un plugin en VB
samedi 17 décembre 2011 09:23
Vercomax,

Il faut procéder dans l'ordre. Je dois encore rédiger un petit "guide du développeur" mais voici ce qu'il faut commencer par faire.

Prends le plugin OpenDat, c'est le plus simple pour commencer. Avec le plugin OpenDXF ton analyse sera parasité par l'appel à la dll CNCTools.

Les fonctions utilisées par Jedicut sont les suivantes :
  function GetDllFamily : byte; export
  procedure GetDescription(Cible : PChar; tailleCible: integer); export
  procedure GetFileExtension(Format : PChar; tailleCible: integer); export
  function OpenFileDll(Src : PChar ; var nbEx, nbIn : integer) : smallInt; export
  function LoadFileDll(var Profil : TCoordonneesProfil) : smallInt; export
  procedure GetProfileDescription(Cible : PChar; tailleCible: integer); export
  procedure GetProfileName(Cible : PChar; tailleCible: integer); export
  function SaveFileDll(Dest : PChar) : smallInt; export

Je ne vais pas les décrire une à une pour l'instant, mais tu as là les fonctions et paramètres attendus par Jedicut. C'est plus clair ?

GetDllFamily renvoie la famille de ce plugin. Tu as toutes les familles possibles dans UType.pas. Mais pour l'instant laisse la même valeur que dans OpenDat. Je n'ai pas encore implémenté dans Jedicut l'enregistrement des fichiers via les plugins seulement l'ouverture, car c'était la priorité pour ajouter rapidement l'ouverture des dxf.

GetDescription : Tu as juste à modifier ce texte ' (*.dat) v0.1' en remplaçant dat par l'extension des fichiers que tu veux ouvrir avec ton plugin, c'est ce qui est affiché dans la liste des formats de fichier de la fenêtre de dialogue d'ouverture de fichier (essaie d'ouvrir un fichier dans Jedicut et tu verras).

GetFileExtension : Cette fonction renvoie l'extension du fichier, il faut donc juste remplacer '.dat' par ton extension, sans oublier le "." qui est important.

Pourquoi 2 fonctions faisant presque la même chose, c'est justement pour avoir un libellé simple acceptant quelque erreurs de formatage, sans remettre en cause la faculté de Jedicut à savoir reconnaitre les fichiers gérés par ton plugin...

Si tu fais déjà ça, que tu compiles, sans mettre dans code dans les autres fonctions, tu dois voir un résultat dans Jedicut en allant dans le menu "Fichier" et en cliquant sur "Ouvrir". Ton plugin doit apparaitre dans la liste des extensions proposées.

Comme tu veux faire ça en VB, il faut déjà que tu codes le fichier UType qui est dans le répertoire "commun" sur le serveur svn, puis que tu codes la structure vierge d'un plugIn en commençant par les fonctions que je t'ai indiqué. Quand tu auras trouvé les formats de données correspondant, pense à remplir le fichier DataType.ods, ça pourra aider d'autres développeurs. Le but de ce fichier est de faire une table de correspondance des formats de donnée entre langage de programmation.

Préviens moi quand tu en seras là et je t'expliquerai la suite.

Jerome
Re: Développer un plugin en VB
samedi 17 décembre 2011 12:10
Ok, parfait. Je m'attaque à cà de suite winking smiley
Merci.
Re: Développer un plugin en VB
samedi 17 décembre 2011 19:39
@Jerome
tu dis : "il faut déjà que tu codes le fichier UType"

cad ? je rajoute des lignes et tu compileras ensuite ? je fais une dll sous vb de ces lignes ?

j'ai presque fini la dll de base avec les 3 fonctions de base comme tu m'a indiqué.

merci.
Re: Développer un plugin en VB
dimanche 18 décembre 2011 19:24
Chaque plugin est indépendant. Je n'ai rien à recompiler.

Soit tu traduis le fichier utype.pas en vb, soit tu déclaré tes types de données directement dans ton plugin. Moi j'ai préféré faire un fichier réutilisable par tous les plugins codés en delphi winking smiley

C'est plus clair ?

Jerome
Re: Développer un plugin en VB
lundi 19 décembre 2011 10:37
Heu non, c'est pas plus clair.confused smiley
Je ne comprend pas.
Comment Jedicut va savoir qu'il y a une nouvelle dll, par exemple OpenMax.dll, a utiliser pour proposer une nouvelle extension de fichier ?
A quoi va me servir de traduire utype.pas en vb ? Et si je le traduit je vais en faire un exe ou une dll, mais comment jedicut va le savoir ?
Jedicut charge toutes les dll dans le répertoire "dll" ? Je pige pas.
J'ai fait une dll de base comme tu m'as dit. Elle comprend 3 fonctions de base: GetDllFamily, GetDescription, GetFileExtension. Elles retournent indépendamment une valeur sous forme de "string". Je l'ai posé dans le rep "dll" de jédicut et si je fait "ouvrir" je ne vois pas la nouvelle extension de fichier. Mais pour moi c'est normal, il faut bien que Jedicut sache qu'il y a une nouvelle dll, et qui le lui dit alors ?

Merci.
Re: Développer un plugin en VB
mercredi 21 décembre 2011 06:55
Salut !
Le principe d'un plugin c'est que l'application hôte le détecte lors du lancement. Donc Jedicut se contente de scanner le répertoire dll. Aucune évolution de Jedicut n'est nécessaire.
Comment as tu traduit les types de données utilisés par Jedicut et les plugins (les record en delphi par exemple ?)
Toi tu dois juste générer une dll. Poste ton code vb sur le forum je regarderai où tu en es. Je vais aussi t'envoyer le petit exécutable de test qui t'évitera de passer par Jedicut à chaque fois. Tu gagneras du temps.

Jerome
Re: Développer un plugin en VB
vendredi 23 décembre 2011 09:10
Salut vercomax,

J'ai bossé pour toi hier pour faciliter tes tests de plugin de fichier. Tous les détails dans le message suivant : www.aeropassion.net/forums/read.php?19,8099

Jerome
Re: Développer un plugin en VB
vendredi 23 décembre 2011 12:41
Merci, je mate tout çà.
J'en profite pour vous souhaiter de joyeuses fêtes à toutes & tous.
Certainement beaucoup plus absent des écrans durant ces 10 prochains jours, je passerai néanmoins plusieurs fois ici pour suivre les fils de discussion et continuer les développements que j'ai engagés.
Merci.
Re: Développer un plugin en VB
vendredi 23 décembre 2011 13:40
Passe de bonnes fêtes toi aussi winking smiley

Jerome
Désolé, seuls les utilisateurs connectés peuvent envoyer des messages dans ce forum.

Cliquer ici pour se connecter



Et vous, vous venez d'où ?

Aeropassion

Paris en photo | Design by Le Flaketou, création de site internet

Phorum