2011-07-08 1 views
0

Je peux charger parfaitement la première DLL, mais si j'essaie de charger une seconde DLL, elle échoue.comment charger plus d'une bibliothèque dans FreePascal?

INFO:

  • OS: Windows Vista
  • CPF: 2.4.4
  • Peu importe si je charge la deuxième DLL à partir d'un fichier EXE ou à l'intérieur de la première DLL, la seconde échoue.
  • Peu importe si la première DLL est chargée statiquement, la seconde échoue tout simplement.
  • Peu importe quelle est la deuxième DLL à charger.
  • Je contrôle le code source des DLL.
  • Il n'y a pas de dépendances externes.
  • Cela arrive avec des DLL très simples.
  • GetLastError() renvoie l'erreur 487 (ERROR_INVALID_ADDRESS).
  • Cela se produit uniquement avec les DLL générées avec FPC.

Il y a quelque chose qui me manque et je n'arrive pas à le comprendre.

Merci

Réponse: ok j'ai trouvé mon problème, j'ai eu le commutateur de ligne de commande -wn dans mon fichier fp.cfg

Répondre

0

Je présume que vous appelez un wrapper pour Win32 LoadLibrary().

Vous devriez pouvoir appeler plusieurs fichiers .dll différents sans problème.

SUGGESTION: Vérifiez GetLastError et voir ce que le code d'erreur était

AUSSI:

  • Peut-être qu'il ya quelque chose à ce sujet .dll particulier, ou la façon dont vous l'utilisez. Exécutez l'outil "depends" sur votre fichier .exe, vos fichiers .dll et tous les .dll que vous chargez dynamiquement. Assurez-vous que toutes les dépendances sont résolues.

+0

merci pour votre réponse, j'ai mis à jour la question avec plus d'info – ernest

Questions connexes