Klaus
Nombre de messages : 12274 Age : 74 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Meilleur endroit pour localiser KGF.dll (et d'autres...) Lun 15 Juin 2015 - 18:30 | |
| Pour ne pas continuer à polluer le post de Jack concernant les 10 ans de Panoramic, je vais livrer ici, mes réflexions sur la localisation de Panoramic.dll. Le plus simple est évidemment de placer KGF.dll dans le dossier où se trouve le source du programme (si exécuté par l'éditeur) ou le dossier où se trouve l'exécutable généré par l'Editeur. Dans ce cas, il suffit de faire - Code:
-
dll_on "KGF.dll" et on accède à la DLL. Bien entendu, ceci est inapplicable si l'on utilise plusieurs dossiers, un par projet par exemple. Dans ce cas, il faut trouver un lieu général, commun à tous les programmes, dans lequel on place KGF.dll (et d'autres...). Idéalement, cela devrait être un dossier à chemin court, facile à coder, comme par exemple: - Code:
-
dll_on "C:\outils\KGF.dll" Mais il y a une troisième méthode, et je l'utilise dans mon outil Synedit_Editor, ainsi que dans pas mal de programmes que je code pour mon usage personnel. Il s'agit de paramétrer ce dossier sous forme d'une information dans un fichier INI ou CNF. Ce fichier contierndra, entre autres, une ligne du type: - Citation :
- KGF.dll=C:\...\...\KGF.dll
Ce fichier est ouvert systématiquement au démarrage du programme application. Si ce fichier n'existe pas, il est créé, soit avec une valeur par défaut pour ce chemin, soit en ouvrant un sélecteur de dossier pour localiser le dossier. Ensuite, on lit ce fichier pour trouver l'information KGF.dll= et on utilise le chemin qui se trouve derrière. Evidemment, le fichier de configuration, normalement du même nom que le programme et avec l'extension INI, se trouve dans le même dossier que le programme. Voici une procédure qui gère cela d'une façon automatique: - Code:
-
dim KGF$
config() message KGF$ dll_on KGF$
end
sub config() dim_local prog$, inifile$, dossier$, no%, f$, trouve%, s$
prog$ = param_value$(0) inifile$ = file_extract_name$(prog$) inifile$ = left$(inifile$,len(inifile$)-3)+"ini" if file_exists(inifile$)=0 no% = 1234 while object_exists(no%)=1 no% = no% + 1 end_while save_dialog no% filter no%,"Fichiers DLL|*.dll" f$ = file_name$(no%) if f$="_" message "Impossible de déterminer de dossier pour KGF.dll !" terminate end_if dossier$ = file_extract_path$(f$) file_open_write 1,inifile$ file_writeln 1,"KGF.dll="+dossier$+"KGF.dll" file_close 1 delete no% end_if file_open_read 1,inifile$ while file_eof(1)=0 file_readln 1,s$ if left$(s$,8)="KGF.dll=" KGF$ = mid$(s$,9,len(s$)) trouve% = 1 exit_while end_if end_while file_close 1 if trouve%=0 message "Le chemin vers KGF.dll manque dans "+inifile$ terminate end_if if file_exists(inifile$)=0 message "Introuvable: "+inifile$ terminate end_if end_sub
Chacun peut l'adapter à son goût. Mais c'est la façon ultime de régler les problèmes de localisation. Rien n'empêche de placer d'autres chemins dans ce fichier, ou d'utiliser plusieurs fichier INI (un pour KGF.dll, on pour des ressources bitmap, ...). Donnez libre cours à votre créativité ! | |
|
papydall
Nombre de messages : 6996 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Meilleur endroit pour localiser KGF.dll (et d'autres...) Lun 15 Juin 2015 - 20:10 | |
| Pour moi le mieux est d'ajouter le chemin à la variable d’environnement PATH. Et dans les programmes on fait simplement - Code:
-
dll_on "kgf.dll" Regarde ici | |
|