#1 Thu 31 May 2001 22:25
- LEROY
- Invité
Appel de DLL depuis MapBasic
Bonjour,
Je cree des DLL (depuis du Fortran Lahey ou Visual Fortran).
Quand je les installe sur d'autre PC, elles sont parfois reconnues et
parfois pas reconnues. Pourtant elles sont installees systematiquement dans
le repertoire MapInfoProfessional avec le fichier MBX qui l'appelle.
Comment faire pour qu'elles soit toujours reconnues?
Cela se produit avec Win95, Win98 ou WNT4 sans que j'ai pu trouver de
correlation
Merci
#2 Tue 12 October 2004 09:17
- Jerome Carreau
- Invité
Re: Appel de DLL depuis MapBasic
De: Carreau
Je suis confronte au meme probleme.
Effectivement, MapInfo semble chercher la DLL dans un repertoire systeme avant de la chercher dans le repertoire de l'application ou le repertoire du programme appellant. Difficile de savoir dans quel ordre de priorite.
J'avais reussi a contourner le probleme en ecrivant les DLL dans un repertoire fixe et en le precisant dans la declaration de la fonction dans le prog MapBasic.
Declare MyFuncDLL Lib ..MonRepMyDLL.DLL Alias MyDllFunc (...) As ...
Cela ne marche plus sous XP. Avez vous essaye en inscrivant la DLL dans la base de registre ?
Avez vous trouve une solution depuis ?
Amicalement
#3 Mon 25 October 2004 13:14
- Jerome Carreau
- Invité
Re: Appel de DLL depuis MapBasic
De: Carreau
Trouve une solution en ecrivant le chemin d'acces de la DLL a charger dans la variabe le d'environnement PATH.
MapInfo ne semble plus gerer les priorites d'acces aux repertoires de recherche des DLL (maglre ce qui est precise dans la doc)
Ecrire une variable dans la base de registre et aller la lire ne semble pas apporter de solution car on ne peut pas parametrer l'appel a une procedure externe, le chemin et le nom du repertoire est en dur.
Amicalement