Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Majid
Essaye de voir ByRef dans la déclaration de la fonction (qui joue le role d'un * dans C, enfin je crois) sinon regarde ByVal je sais plus.. de toute facon ta solution est dans ces deux là.
function dum(ByRef pf as long) as long dum=pf end function
Majid, qui ne fait plus que poser des questions..
Essaye de voir ByRef dans la déclaration de la fonction (qui joue le role
d'un * dans C, enfin je crois) sinon regarde ByVal je sais plus.. de toute
facon ta solution est dans ces deux là.
function dum(ByRef pf as long) as long
dum=pf
end function
Essaye de voir ByRef dans la déclaration de la fonction (qui joue le role d'un * dans C, enfin je crois) sinon regarde ByVal je sais plus.. de toute facon ta solution est dans ces deux là.
function dum(ByRef pf as long) as long dum=pf end function
Majid, qui ne fait plus que poser des questions..
Christian Hugoud - Xtrem7
Salut,
La réponse (peut être) réside dans CallByName.
On place la fonction dans un objet (typiquement une feuille) et on utilise CallByName.
Si la fonction est placée dans un module : ça ne marche pas (à ma connaissance et je n'ai pas eu de réponse sur le net).
Voilà...
Christian
"Nathan" a écrit dans le message de news:%
Salut tout le monde
J'ai un tres gros pbm. J'ai retourner tout le net et j'ai rien trouver ...
Comment on fait en VB6 pour appeller une fonction qui stocker dans une variable ?
Example: sub test() msgbox("Test...") end sub
sub Main() dim fnc as long fnc=dum(addressOf test) call fnc end sub
function dum(pf as long) as long dum=pf end function
le pbm c'est que le call fnc genere une erreur en C c'est simple il suffit d'un * et tout il est beau mais en vb je
vois
vraiment po....
Merci me donner votre avis car la je saiche sur un truc ki doit etre vraiment simple, mais je vois po du tut comment faire ....
Nathan
Salut,
La réponse (peut être) réside dans CallByName.
On place la fonction dans un objet (typiquement une feuille) et on
utilise CallByName.
Si la fonction est placée dans un module : ça ne marche pas (à ma
connaissance et je n'ai pas eu de réponse sur le net).
Voilà...
Christian
"Nathan" <nathannau@hotmail.com> a écrit dans le message de
news:%23KWK8qutDHA.2208@TK2MSFTNGP10.phx.gbl...
Salut tout le monde
J'ai un tres gros pbm.
J'ai retourner tout le net et j'ai rien trouver ...
Comment on fait en VB6 pour appeller une fonction qui stocker dans une
variable ?
Example:
sub test()
msgbox("Test...")
end sub
sub Main()
dim fnc as long
fnc=dum(addressOf test)
call fnc
end sub
function dum(pf as long) as long
dum=pf
end function
le pbm c'est que le call fnc genere une erreur
en C c'est simple il suffit d'un * et tout il est beau mais en vb je
vois
vraiment po....
Merci me donner votre avis car la je saiche sur un truc ki doit etre
vraiment simple, mais je vois po du tut comment faire ....
"François Picalausa" a écrit dans le message de news: #
"Nathan" a écrit dans le message de news:% > Comment on fait en VB6 pour appeller une fonction qui stocker dans une > variable ? > > Example: > sub test() > msgbox("Test...") > end sub > > sub Main() > dim fnc as long > fnc=dum(addressOf test) > call fnc > end sub > > function dum(pf as long) as long > dum=pf > end function > > le pbm c'est que le call fnc genere une erreur > en C c'est simple il suffit d'un * et tout il est beau mais en vb je > vois vraiment po....
Bonjour/soir,
En complément des deux autres réponses, voici une fiche utile: http://support.microsoft.com/default.aspx?kbid1578
Merci de ta reponce. C'est bien ce que je pensais. Il n'y a pas de methode propre pour resoudre se pbm. On est obliger de cree une DLL en C pour faire cet appelle...
C'est vraiment super mal pensais !!!
Nathan
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de news:
#edgRSytDHA.1088@tk2msftngp13.phx.gbl...
"Nathan" <nathannau@hotmail.com> a écrit dans le message de
news:%23KWK8qutDHA.2208@TK2MSFTNGP10.phx.gbl
> Comment on fait en VB6 pour appeller une fonction qui stocker dans une
> variable ?
>
> Example:
> sub test()
> msgbox("Test...")
> end sub
>
> sub Main()
> dim fnc as long
> fnc=dum(addressOf test)
> call fnc
> end sub
>
> function dum(pf as long) as long
> dum=pf
> end function
>
> le pbm c'est que le call fnc genere une erreur
> en C c'est simple il suffit d'un * et tout il est beau mais en vb je
> vois vraiment po....
Bonjour/soir,
En complément des deux autres réponses, voici une fiche utile:
http://support.microsoft.com/default.aspx?kbid1578
Merci de ta reponce.
C'est bien ce que je pensais.
Il n'y a pas de methode propre pour resoudre se pbm.
On est obliger de cree une DLL en C pour faire cet appelle...
"François Picalausa" a écrit dans le message de news: #
"Nathan" a écrit dans le message de news:% > Comment on fait en VB6 pour appeller une fonction qui stocker dans une > variable ? > > Example: > sub test() > msgbox("Test...") > end sub > > sub Main() > dim fnc as long > fnc=dum(addressOf test) > call fnc > end sub > > function dum(pf as long) as long > dum=pf > end function > > le pbm c'est que le call fnc genere une erreur > en C c'est simple il suffit d'un * et tout il est beau mais en vb je > vois vraiment po....
Bonjour/soir,
En complément des deux autres réponses, voici une fiche utile: http://support.microsoft.com/default.aspx?kbid1578
Merci de ta reponce. C'est bien ce que je pensais. Il n'y a pas de methode propre pour resoudre se pbm. On est obliger de cree une DLL en C pour faire cet appelle...
C'est vraiment super mal pensais !!!
Nathan
François Picalausa
>> Bonjour/soir,
En complément des deux autres réponses, voici une fiche utile: http://support.microsoft.com/default.aspx?kbid1578
C'est bien ce que je pensais. Il n'y a pas de methode propre pour resoudre se pbm. On est obliger de cree une DLL en C pour faire cet appelle...
Bonjour/soir,
Généralement, en VB, on n'appelle pas de focntion via un pointeur. Tu récupère ce pointeur d'une API quelconque? Sinon, il y a toujours une solution. Dis nous ce que tu souhaites faire et nous tenterons de te donner la meilleure solution.
En complément des deux autres réponses, voici une fiche utile:
http://support.microsoft.com/default.aspx?kbid1578
C'est bien ce que je pensais.
Il n'y a pas de methode propre pour resoudre se pbm.
On est obliger de cree une DLL en C pour faire cet appelle...
Bonjour/soir,
Généralement, en VB, on n'appelle pas de focntion via un pointeur.
Tu récupère ce pointeur d'une API quelconque?
Sinon, il y a toujours une solution. Dis nous ce que tu souhaites faire et
nous tenterons de te donner la meilleure solution.
En complément des deux autres réponses, voici une fiche utile: http://support.microsoft.com/default.aspx?kbid1578
C'est bien ce que je pensais. Il n'y a pas de methode propre pour resoudre se pbm. On est obliger de cree une DLL en C pour faire cet appelle...
Bonjour/soir,
Généralement, en VB, on n'appelle pas de focntion via un pointeur. Tu récupère ce pointeur d'une API quelconque? Sinon, il y a toujours une solution. Dis nous ce que tu souhaites faire et nous tenterons de te donner la meilleure solution.
En fait le but est de faire un analyseur de script. J'ai un objet que j'initialise avec des paires (string,fonction) Puis je lui demande d'analyser une ligne. Il compare avec les strings et il appelle la fonction qui va bien avec.
Example: Set Analyseur = new CAnalyseur() Analyseur.Add "Str1",AddressOf Fnc1 Analyseur.Add "Str2",AddressOf Fnc2 Analyseur.Add "Str3",AddressOf Fnc3
... Analyseur.call "Str2"
Ce script appellerait la Fnc2 (Desoler si il y a des erreur de syntaxe, mais j'ecrit a la voler et le VB est pas mon langage de prédilection...)
Nathan
"François Picalausa" a écrit dans le message de news:
>> Bonjour/soir, >> >> En complément des deux autres réponses, voici une fiche utile: >> http://support.microsoft.com/default.aspx?kbid1578 >> > > C'est bien ce que je pensais. > Il n'y a pas de methode propre pour resoudre se pbm. > On est obliger de cree une DLL en C pour faire cet appelle...
Bonjour/soir,
Généralement, en VB, on n'appelle pas de focntion via un pointeur. Tu récupère ce pointeur d'une API quelconque? Sinon, il y a toujours une solution. Dis nous ce que tu souhaites faire et nous tenterons de te donner la meilleure solution.
En fait le but est de faire un analyseur de script.
J'ai un objet que j'initialise avec des paires (string,fonction)
Puis je lui demande d'analyser une ligne. Il compare avec les strings et il
appelle la fonction qui va bien avec.
Example:
Set Analyseur = new CAnalyseur()
Analyseur.Add "Str1",AddressOf Fnc1
Analyseur.Add "Str2",AddressOf Fnc2
Analyseur.Add "Str3",AddressOf Fnc3
...
Analyseur.call "Str2"
Ce script appellerait la Fnc2
(Desoler si il y a des erreur de syntaxe, mais j'ecrit a la voler et le VB
est pas mon langage de prédilection...)
Nathan
"François Picalausa" <fpicalausa@chez.com> a écrit dans le message de news:
udn6xB0tDHA.560@TK2MSFTNGP11.phx.gbl...
>> Bonjour/soir,
>>
>> En complément des deux autres réponses, voici une fiche utile:
>> http://support.microsoft.com/default.aspx?kbid1578
>>
>
> C'est bien ce que je pensais.
> Il n'y a pas de methode propre pour resoudre se pbm.
> On est obliger de cree une DLL en C pour faire cet appelle...
Bonjour/soir,
Généralement, en VB, on n'appelle pas de focntion via un pointeur.
Tu récupère ce pointeur d'une API quelconque?
Sinon, il y a toujours une solution. Dis nous ce que tu souhaites faire et
nous tenterons de te donner la meilleure solution.
En fait le but est de faire un analyseur de script. J'ai un objet que j'initialise avec des paires (string,fonction) Puis je lui demande d'analyser une ligne. Il compare avec les strings et il appelle la fonction qui va bien avec.
Example: Set Analyseur = new CAnalyseur() Analyseur.Add "Str1",AddressOf Fnc1 Analyseur.Add "Str2",AddressOf Fnc2 Analyseur.Add "Str3",AddressOf Fnc3
... Analyseur.call "Str2"
Ce script appellerait la Fnc2 (Desoler si il y a des erreur de syntaxe, mais j'ecrit a la voler et le VB est pas mon langage de prédilection...)
Nathan
"François Picalausa" a écrit dans le message de news:
>> Bonjour/soir, >> >> En complément des deux autres réponses, voici une fiche utile: >> http://support.microsoft.com/default.aspx?kbid1578 >> > > C'est bien ce que je pensais. > Il n'y a pas de methode propre pour resoudre se pbm. > On est obliger de cree une DLL en C pour faire cet appelle...
Bonjour/soir,
Généralement, en VB, on n'appelle pas de focntion via un pointeur. Tu récupère ce pointeur d'une API quelconque? Sinon, il y a toujours une solution. Dis nous ce que tu souhaites faire et nous tenterons de te donner la meilleure solution.
En fait le but est de faire un analyseur de script. J'ai un objet que j'initialise avec des paires (string,fonction) Puis je lui demande d'analyser une ligne. Il compare avec les strings et il appelle la fonction qui va bien avec.
Example: Set Analyseur = new CAnalyseur() Analyseur.Add "Str1",AddressOf Fnc1 Analyseur.Add "Str2",AddressOf Fnc2 Analyseur.Add "Str3",AddressOf Fnc3
... Analyseur.call "Str2"
Ce script appellerait la Fnc2
Bonjour/soir,
CallByName devrait être la solution alors. Tu stoque des triplets (string,nom de la procédure, objet contenant la procédure) et pour l'appel: CallByName (Objet, NomProcédure, Tableau d'arguments)
le VB est pas mon langage de prédilection
Quand on sait ce qu'on peut faire avec les pointeurs, ce n'est pas étonnant ;-)
"Nathan" <nathannau@hotmail.com> a écrit dans le message de
news:OlNIe40tDHA.3744@TK2MSFTNGP11.phx.gbl
En fait le but est de faire un analyseur de script.
J'ai un objet que j'initialise avec des paires (string,fonction)
Puis je lui demande d'analyser une ligne. Il compare avec les strings
et il appelle la fonction qui va bien avec.
Example:
Set Analyseur = new CAnalyseur()
Analyseur.Add "Str1",AddressOf Fnc1
Analyseur.Add "Str2",AddressOf Fnc2
Analyseur.Add "Str3",AddressOf Fnc3
...
Analyseur.call "Str2"
Ce script appellerait la Fnc2
Bonjour/soir,
CallByName devrait être la solution alors.
Tu stoque des triplets (string,nom de la procédure, objet contenant la
procédure)
et pour l'appel:
CallByName (Objet, NomProcédure, Tableau d'arguments)
le VB est pas mon langage de prédilection
Quand on sait ce qu'on peut faire avec les pointeurs, ce n'est pas étonnant
;-)
En fait le but est de faire un analyseur de script. J'ai un objet que j'initialise avec des paires (string,fonction) Puis je lui demande d'analyser une ligne. Il compare avec les strings et il appelle la fonction qui va bien avec.
Example: Set Analyseur = new CAnalyseur() Analyseur.Add "Str1",AddressOf Fnc1 Analyseur.Add "Str2",AddressOf Fnc2 Analyseur.Add "Str3",AddressOf Fnc3
... Analyseur.call "Str2"
Ce script appellerait la Fnc2
Bonjour/soir,
CallByName devrait être la solution alors. Tu stoque des triplets (string,nom de la procédure, objet contenant la procédure) et pour l'appel: CallByName (Objet, NomProcédure, Tableau d'arguments)
le VB est pas mon langage de prédilection
Quand on sait ce qu'on peut faire avec les pointeurs, ce n'est pas étonnant ;-)