Cobj - retourne l'objet à partir d'un string

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 748 fois - Téléchargée 105 fois

Contenu du snippet

C'est une petite fonction utile surtout quand on utlise CallByName.
Ca évite de spécifier l'objet directement, on peut maintenant le spécifier en string

Ex:

CallByName Cobj(LeNomDeTaFonction), blablabla...

Source / Exemple :


Private Function CObj(ByVal Name As String) As Object
    
    Dim frm As Form, Ctrl As Control
    
    For Each frm In Forms
        If frm.Name = Name Then
            Set CObj = frm
            Exit Function
        End If
        For Each Ctrl In frm.Controls
            If Ctrl.Name = Name Then
                Set CObj = Ctrl
                Exit Function
            End If
        Next Ctrl
    Next frm
    
End Function
Ajouter un commentaire Commentaires
Djzlouk Messages postés 70 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 20 janvier 2011
16 août 2007 à 16:33
Bonjour,

Je vois que ce code date un peu, mais il peut beaucoup m'aider :)
Je vois aussi que Renfield avait fait une remarque importante : cela ne gere pas la from. cela regarde partout.

Or dans mon projet c'est essentiel vu que ce sont deja des form généré, donc avec les memes nom de label / command...

Es qu'il faut mieux passer un 2eme parametre avec le nom de la form ? ou faire un "form2.command1" ?
Et surtout es possible de faire plutot un Me.label1 dans ce genre de parametre ?

Es que quelqu'un peut me guider ?

merci bien :)
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 30
1 nov. 2006 à 19:53
Renfield à raison ça oblige à nommer differament tout les controles du projet, mais sinon c'est une fonction assez utile.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
1 nov. 2006 à 12:02
Gaffe, y'a un gros soucis, dans ta source...

si tu fais

CObj ( "Command1" )

tu sais pas sur quelle form il va regarder....
faudrais que tu gères par exemple CObj ( "Form2.Command1" )
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
1 nov. 2006 à 11:11
@Frank150 : dura lex sed lex, merci de suivre les regles =)
@PCPT : tu peux meme dire "VbFrance DEGORGE de tant de "petites sources..."
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
1 nov. 2006 à 02:35
VbFrance regorge de tant de "petites sources" qu'il en devient presque impossible de trouver ce qu'on veut...
le fonctionnement est maintenant le suivant : on dépose ici un code (un "vrai", plus sous moins complet mais assez conséquent), et sur Codyx c'est les snippets, les fonctions, les... "sources" de peu de lignes

tu peux t'inscrire sur Codyx avec le même pseudo, ton code apparaîtra sur la page d'accueil de VbFrance et de CodeS-SourceS
Afficher les 9 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.