begin process at 2010 02 10 01:34:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Appel de Fonction de façon "dynamique"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Appel de Fonction de façon "dynamique"

vendredi 29 octobre 2004 à 14:34:09 | Appel de Fonction de façon "dynamique"

cerber943

Bonjour,

Je souhaite savoir s'il est possible d'appeler une fonction en ayant son nom dans une variable sans pour autant faire une sorte d'interprétteur.

En gros, je souhaiterais être à même de créer une procédure :
procedure appel_fonction(nom_fonction : String);
mais je ne souhaite pas effectuer de comparaison du contenu de nom_fonction pour effectuer le traitement associé.

Je ne sais pas si j'ai été clair...
J'espère en tout cas que quelqu'un pourra me répondre/comprendre et me donner une piste à suivre :)

merci d'avance
vendredi 29 octobre 2004 à 14:40:24 | Re : Appel de Fonction de façon "dynamique"

jinh68

Membre Club
En fait je comprends ce que tu veux faire, mais ca me semble compliqué, le seul moment ou jai vu qu'on pouvait identifier une fonction par un nom( PChar) c'était quand tu appelles une fonction d'une dll à l'aide de GetProcAddress...

Mais doit ya avoir un moyen, je vais regarder ça..

Dans quel but précis veux tu faire ça?



j!nH
vendredi 29 octobre 2004 à 14:42:07 | Re : Appel de Fonction de façon "dynamique"

JulioDelphi

Membre Club Administrateur CodeS-SourceS
hello,

explique moi l'interet de cette procedure ?
pourquoi ne pas simplement lancer tes fonctions ?

tu peux par exemple faire :
procedure appel_fonction(nom_fonction : String);
begin
if nom_fonction = Fonction1 then Fonction1 else
if nom_fonction = Fonction2 then Fonction2 else
if nom_fonction = Fonction3 then Fonction3;
...
end;


ça te va ? c ce que tu cherches ?

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

-------------------------------------------
[ Lien ] : mon site refait ! Delphi power !
vendredi 29 octobre 2004 à 14:52:45 | Re : Appel de Fonction de façon "dynamique"

jinh68

Membre Club
Non à mon avis pas, il a bien précisé qu'il ne voulait pas faire de comparaison :-).

j!nH
vendredi 29 octobre 2004 à 15:19:14 | Re : Appel de Fonction de façon "dynamique"

JulioDelphi

Membre Club Administrateur CodeS-SourceS
oups dsl ! j'ai été trop vite en besogne :/

bon et bien alors je ne connais pas d'autre soluce pour le moment ...

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

-------------------------------------------
[ Lien ] : mon site refait ! Delphi power !
vendredi 29 octobre 2004 à 15:40:01 | Re : Appel de Fonction de façon "dynamique"

leveugle

Salut,

je ne comprends pas (non plus) bien pourquoi tu ne veux pas faire de comparaison sur nom_fonction ...

si ton objectif est d'éxécuter une fonction directement à partir de la chaîne nom_fonction, ce n'est possible qu'à condition
que les fonctions à appeler soient des méthodes (publiques?) d'un objet et en faisant appel aux RTTI. (Run Time Type Infos).

Dans le cas contraire, tu peux aussi construire un tableau à deux dimensions (String, pointeur sur fonctions ) à conditions que toutes les fonctions à appler aient le même prototype.

Damien



vendredi 29 octobre 2004 à 20:49:59 | Re : Appel de Fonction de façon "dynamique"

ZeWaren

Membre Club
Réponse acceptée !
Jette un coup d'oeil la dessus et dit nous si ca peut t'aider : [ Lien ]


[ Lien ]

J'espere avoir pu aider...

Pourquoi remetre à demain ce qu'on peut faire après demain ?
vendredi 29 octobre 2004 à 23:38:32 | Re : Appel de Fonction de façon "dynamique"

JulioDelphi

Membre Club Administrateur CodeS-SourceS
WOW
superbe code !
a garder en favoris :)
merci ZeWaren ;)

N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

-------------------------------------------
[ Lien ] : mon site refait ! Delphi power !
samedi 30 octobre 2004 à 02:29:10 | Re : Appel de Fonction de façon "dynamique"

Delphiprog

Administrateur CodeS-SourceS
OK, le code est bien, mais il ne s'applique qu'à des méthodes et non à des procédures ou fonctions "toutes simples", autrement dit celles qui ne sont pas "of object".

Affaire à suivre...

May Delphi be with you
samedi 30 octobre 2004 à 17:48:59 | Re : Appel de Fonction de façon "dynamique"

neko

non, ca s'applique tres bien a n'importe quelle variable, ce code marche impec, il suffit de definir les procedures avec le meme nombre de param et le meme type.


TProcedure2Param = procedure(Param1, Param2: String);

TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;

Procedure Stuff(Param1, Param2: String);
Procedure ReStuff(Param1, Param2: String);

var
Form1: TForm1;
Procedure2Param: TProcedure2Param;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
@Procedure2Param := @Stuff;
Procedure2Param('a', 'b');
@Procedure2Param := @ReStuff;
Procedure2Param('a', 'b');
end;

Procedure Stuff(Param1, Param2: String);
Begin
ShowMessage('Stuff');
End;
Procedure ReStuff(Param1, Param2: String);
Begin
ShowMessage('ReStuff');
End;



bouh

1 2

Cette discussion est classée dans : fonction, dynamique, appel, souhaite, façon


Répondre à ce message

Sujets en rapport avec ce message

prb avec dll et tableau dynamique [ par bd ] actuellement je recois en parametre d'une fonction un tableau de longueur variable. ce tableau est rempli dans la fonction de la dll.au retour dans la Tableau dynamique et fonction [ par slachz ] voilà, j'ai une fontion qui récolte les images d'un dossier et les stockent dans un tableau dynamique (la taille changeant en fonction du nombre d'ima Appel de fonction [ par Clercq ] Voici mon probleme, lors de la compilation de mon code j'ai l'erreur suivante : "Forme d'appel de méthode autorisée seulement pour méthodes de classe" Pas de son à l'appel d'une fonction Javascript [ par veuda ] Bonjour,j'ai une question au sujet du composant TWebrowser et de Javascript.J'ai une petite application qui affiche du contenu dans un TWebrowser.Pour Class dynamique... événement [ par juli1m ] Bon, ben déjà, désolé pour le sujet, il n'est pas forcément clair, mais voici quelques explications.ce que je veux faire, c'est: - je créé une class, Création dynamique ou libération à l'ouverture ? [ par wininfos ] Bonjour,Je souhaite réaliser une application dont l'interface change un peu en fct du status de l'utilisateur "Administrateur, Invité...". Je souhaite Problem de pointeur lors de l'appel d'une fonction d'une DLL [ par astrorico44 ] Bonjour,j'essai d'appeler une fonction d'une DLL ecrite en C en delphiles premieres fonctions de la DLL fonctionnent mais je n'arrive pas a appeler la macro et fonction key macro Ctrl+Shift+R ? [ par PhilLU ] Salut,Je souhaite créer une macro avec Delphi.En fait ouvrir une appli externe et entrer une valeur dans le champ sous focus de cette même appli, puis Fonction copy avec séparateur [ par Francky23012301 ] Salut à vous, Vous allez devenir chevres (moi ca fait deja 1 h que je le suis Grrrr) mais on dit bien jamais 2 sans 3 alors une petite derniere quest problème ascenseur sur richedit [ par philpas ] Bonjour,j'ai un problème avec mes affichages en fonction du système d'exploitation.Voilà, j'ai un Richedit. Dedans j'ajoute des lignes par programme a


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales