Bonjour,
J'ai encore un blocage concernant les dll :
Comment faire pour appeler une fonction contenue dans une dll à partir d'une autre fonction contenue dans la même dll ?![]()
Il me répond "identificateur non déclaré" à la compil.![]()
Bonjour,
J'ai encore un blocage concernant les dll :
Comment faire pour appeler une fonction contenue dans une dll à partir d'une autre fonction contenue dans la même dll ?![]()
Il me répond "identificateur non déclaré" à la compil.![]()
Bonjour,
N'as-tu rien trouvé en doc sur ce forum ?
http://flash-koti.developpez.com/art...elphi/102-dll/
Aucune réponse à ta question dedans ?
Bon dev'
ben... non, même en cherchant bien, je n'ai rien trouvé sur l'appel à une fonction depuis une fonction de la même dll.![]()
Tu as vérifier la casse de la fonction dans la déclaration et dans l'appel?
Vérifies aussi qu'elle est bien chargée.
Normalement, il n'y a aucun problème pour ce genre d'appel.
Ben c'est comme un appel de routines normal : entre une routine de l'exe et une autre de l'exe. Je ne vois pas le problème![]()
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
Le pb est que cela ne marche pas.
Il me répond "identificateur non déclaré" à la compil de la dll.
Comment peut-on lui dire que la fonction se trouve dans dll ?
Oui, il n'y a pas de problème de syntax.Envoyé par Caine
Chargée où ?, les deux fonctions font partie de la même dll, donc si l'une est "chargée", l'autre l'est aussi.
Ma question était :
Comment faire pour appeler une fonction contenue dans une dll à partir d'une autre fonction contenue dans la même dll ?
Il me répond "identificateur non déclaré" à la compil.
Oui et alors ? Une DLL peut être faite de plusieurs unités, tout comme les exécutables. Si une fonction est déclarée dans une unité et l'autre dans une autre, il faut utiliser des uses pour y accéder, comme toujours.Envoyé par od.dev
Si elles sont dans la même unité, peut-être que ta fonction appelante est déclarée avant la fonction appelée. Du coup, il ne la "connaît" pas encore quand il passe sur la fonction appelante. Si c'est le cas il te faut rajouter une déclaration forward.
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
Euh.. oui, bon...
Je vais envoyer un source demain, ce sera plus simple pour la compréhension du pb qui n'est peut-être pas évident à voir quand on a l'habitude d'utiliser des DLLs.
Bonjour,
Désolé pour le temps de réponse, j'étais sur autre chose.
J'ai compris, en fait les fonctions/procédures doivent être écrites séquenciellement dans la dll.![]()
Ca peut paraître évident après coup, mais pour quelqu'un qui n'a jamais fait de programmation séquencielle, cela ne coule pas de source.![]()
Mon pb était donc que la fonction appelante se trouvait plus basse que la fonction appelée.
Merci encore.![]()
En fait quand on connaît un minimum l'origine du Pascal, on comprend de suite pourquoi
L'un des gros avantages du Pascal (Objet) est sa rapidité de compilation : le compilateur fait une et une seule passe sur le code source. Ce qui implique qu'il faille déclarer chaque chose utilisée avant son utilisation![]()
sjrd, ancien rédacteur/modérateur Delphi.
Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
Découvrez Mes tutoriels.
Partager