Passer argument pour evenement initialize?

Résolu
monsieurlemouche Messages postés 102 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 28 juin 2007 - 24 avril 2007 à 18:00
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 25 avril 2007 à 01:51
salut,

j'aimerais savoir s'il est possible de passer un (ou des) arguments qui pouuraient être reçus lors de l'évènement initialize d'un objet. L'objectif recherché est le suivant: passer une variable qui point sur le form qui déclare le nouvel objet afin que l'objet puisse s'en servir. Je trouve qu'il serait assez élégant de le faire avec la syntaxe suivante, comme cela peut être fait en lingo (director)

form:

set monObjet= new maclasse(form1)

classe maclasse:

on maclasse_initialize(byref frm as form)
...

bien sûr, cela ne fonctionne pas... mais je m'y prends peut-être mal!

Y a-t-il une possibilité?

oui, définir une procédure init(byref frm as form) mais je veux savoir s'il est possible de passer l'argument sur l'initialisation de l'objet.

merci de vos conseils.

monsieurlémouche

5 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
25 avril 2007 à 01:51
Initialize est un évènement de la classe. Il me semble qu'il est impossible de lui rajouter un paramètre. Idem pour toutes procédures / évènements d'un objet.

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
25 avril 2007 à 00:48
En VB ou VBA, avant de "loader" une Form, tu peux spécifier les données que tu veux y faire apparaître ou initialiser des variables Public qui s'y trouvent

ex: tu es dans Form1
Sub MaSub()
Form2.Text1="Allo"
Form2.MaVariablePublique = "Tourlou !"
Load Form2
Form2.Show
End sub

Quand la Form2 va s'afficher, Text1 va contenire "Allo" et sa variable Public va contenir "Tourlou !". Pour le textbox, rien de plus à faire; pour la variable, à toi de voir ce que tu eux en faire au Initialize ou Form_Load

Mais peut-être aie-je mal compris le fond de l'histoire ?
MPi
0
monsieurlemouche Messages postés 102 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 28 juin 2007
25 avril 2007 à 01:11
salut,
en effet, je n'ai pas réussi à me faire comprendre.
J'initialise un objet graphique:  set monObj= new maClasse

cette classe va créer des contrôles de manière dynamique, elle doit donc avoir une référence sur la feuille d'appel. C'est cette référence que je veux passer (mais comment?) et qui doit être intercepté lors de l'iinitialisation de l'objet.
cette procédure (son équivalent) est possible en lingo.

merci de ta réponse.

monsieurlémouche
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
25 avril 2007 à 01:20
Salut,

et dans ta classe, tu ne peux pas faire :

Sub maclasse_initialize()
   ' rien, pas de code
End Sub

Sub MyInit(ByRef frm As Form)
   ' ton code
End Sub

Puis, depuis ta Form :
set monObjet = new maclasse
monObjet.MyInit(Form1)

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
monsieurlemouche Messages postés 102 Date d'inscription lundi 29 décembre 2003 Statut Membre Dernière intervention 28 juin 2007
25 avril 2007 à 01:39
bien sur que je peux le faire,
c'est d'ailleurs ce que je propose dans le premier post,
mais je veux exploiter le langage au mieux et chercher les différentes manières de faire.

voila, j'ai le sentiment que je ce que cherche n'existe pas.

merci à vous.

monsieurlémouche
0
Rejoignez-nous