[VB6] probleme d'appel de fonction

Résolu
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 - 15 nov. 2006 à 13:46
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 27 nov. 2006 à 17:54
Bonjour,
J'ai une fonction :
Public Function nbAttributs(proc As Object)
Dim Contenu As String
Dim Fso As New FileSystemObject
Dim p As Procedure





Sc.Language = "VBScript"
Call Sc.AddCode(proc)





    MsgBox "Procédure " & p.Name & " possède " & p.NumArgs & " Parametre"

   
Set Sc = Nothing



End Function  '(Merci Julien)



Qui devrait me permettre de trouver le no,bre d'arguments qui sont passés à une fonction ou a une procedure.
Le problême; c'est que je n'arrive pas à appeler cette fonction.
Je fais de la maniere suivante :

Ecrit.nbAttributs test()
ou
Ecrit.nbAttributs test("arg1","arg2",false)

et je recois ce message d'erreur :
compile error: argument not optionnal avec test surligné. Quelqu'un pourrait il me débloquer?
Merci d avance!





         (Si la réponse vous convient, appuyez sur réponse acceptée...).




                           Noubliez pas de lire le REGLEMENT 

24 réponses

jrivet Messages postés 7393 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
16 nov. 2006 à 08:53
Salut [auteurdetail.aspx?ID= 505618 tof008] , [auteurdetail.aspx?ID=401740 PCPT]
Alors tu en est où [auteurdetail.aspx?ID=505618 tof008] est ce que les liens proposés + l'aide M$ t'ont permis d'avancer? Donnes signe de vie, savoir si on se prends la tête pour quelque chose (déjà que c'est du bénévola pour nous )

[auteurdetail.aspx?ID =401740 PCPT]Si tu passes la main alors je vais essayer (mais c'est pas gagner)
@+: Ju£i?n
Pensez: Réponse acceptée
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
20 nov. 2006 à 09:54
Bonjour à vous!
Désolé pour le retard de réponse... J'ai testé les liens que vous m'avez donné et il s'avére que le TyPLib Information aurait pu m'$etre trés utile... Aprés quelques temps pour tout comprendre, je me suis rendu compte que ce n'était pas ca que je cherchais lol! C'est pas grave ca pourra toujours me servir.


Quand à ton code PCPT; ce n'est pas du tout de ca que j'ai besoin, mais c"est trés interressant aussi!


Je pense que je me suis mal exprimé en expliquant ce que je devait faire; en fait ce que je eux faire c'est ca :
je veux créer une fonction qui  lorsque je lui donne en parametre une fonction et ces attributs (ex : addCustomer(nom,prenom)) je veux qu'elle me compte le nombre de parametre de cette fonction, (dans ce cas précis 2) et qu'elle me les donne. Donc dans ce cas, je veux que ma fonction me retourne 2 et nom et prénom.
je veux créer une fonction qui  lorsque je lui donne en parametre une fonction et ces attributs (ex : addCustomer(nom,prenom)) je veux qu'elle me compte le nombre de parametre de cette fonction, (dans ce cas précis 2) et qu'elle me les donne. Donc dans ce cas, je veux que ma fonction me retourne 2 et nom et prénom.

Rien de plus! Mais je vous remercie de votre aide et de m avoir fait découvrir quelque chose que je ne connaissais pas....

 Je met le réponse accepté, car je pense que ce topic pourra aider d'autres personnes!!!





         (Si la réponse vous convient, appuyez sur réponse acceptée...).




                           Noubliez pas de lire le REGLEMENT 
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
21 nov. 2006 à 23:58
salut

bon, dernier essai mais à tous les coups c'est pas non plus çà
pas grave, on tente :

Option Explicit

Private Sub Form_Load()
    MsgBox LastChance("MaFonction(Param1,
Param2)")
    MsgBox LastChance("MyLeft(sVariable, ""("", True)")
    Unload Me
End Sub
'
'
Function LastChance(ByVal sFunction As String) As String
'je veux créer une
fonction qui  lorsque je lui donne en parametre une fonction et _
ces attributs (ex :
addCustomer(nom,prenom)) je veux qu'elle me compte le nombre _
de parametre de cette fonction,
(dans ce cas précis 2) et qu'elle me les donne. _
Donc dans ce cas, je veux que ma
fonction me retourne 2 et nom et prénom.
 
 
    Dim aParams() As String, i As Integer
    
'  
nom
    LastChance =  "NOM : " & MyLeft(sFunction, "(", True) & vbCrLf
    
'   on enlève
le dernier ")"
    sFunction = LeftB$(sFunction, LenB(sFunction) - 2)

'   on découpe les params
    aParams = Split(sFunction, ",")

'   on ajoute les params aux
résultats
    For i = 0 To UBound(aParams)
        LastChance = LastChance & "PARAM
" & i + 1 & " : " & Trim$(aParams(i)) & vbCrLf
    Next i

'   on enlève le dernier retour chariot en
trop
    LastChance = LeftB$(LastChance, LenB(LastChance) - 4)

    Erase aParams
End Function 'LastChance
'
'
Private Function MyLeft(ByRef sStr As String, sSepar As String, Optional sDelete As Boolean = False)
As String
    Dim lPos As Long
    lPos = InStr(1, sStr, sSepar)
    
    If lPos = 0 Then
        MyLeft = vbNullString
    Else
        MyLeft = LeftB$(sStr, (lPos * 2) - 2)
        If sDelete Then sStr = RightB$(sStr, LenB(sStr) - LenB(MyLeft) - LenB(sSepar))
    End If
End Function

<small>Coloration
syntaxique automatique [AFCK] </small>
       

++
<hr size ="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
27 nov. 2006 à 17:54
pas de nouvelle, bonne nouvelle?
0
Rejoignez-nous