PeTeRsLaStAr
Messages postés158Date d'inscriptionsamedi 22 juin 2002StatutMembreDernière intervention27 juin 20151 22 nov. 2005 à 15:27
J'ai solutionné le pb.
Je n'ai pas utilisé ta fonction car je ne sais pas si cela joue ou pas, mais il s'agissait d'un UserControl dans un autre UserControl (c'est à dire qu'il n'y a pas de forms...). Et en faisant 'MyUsrControl as new a', MyUsrControl. (Control+Espace) ne me donnait que mes fonctions publiques...
J'ai utilisé une autre chose que je ne connaissais pas.
En gros, dans mon UC b, j'ajoute une ligne
Public Event MaFonctionPublique(ByVal str As String)
Ensuite, là ou je le veux dans mon code, je marque
RaiseEvent MaFonctionPublique(MaVariableQueJeVoulaisRecupererDeB)
Et enfin, dans mon UsrControl A, j'ai un nouvel évenement de créé,
A_MaFonctionPublique(ByVal str As String)
et là je peux enfin faire
A.MonControl.text = str
Et là ça marche...
J'espère que ce code pourra servir à d'autres utilisateurs.
Merci qd mm pour ton aide Vpoyo et DarkSidious :)
****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
PeTeRsLaStAr
Messages postés158Date d'inscriptionsamedi 22 juin 2002StatutMembreDernière intervention27 juin 20151 22 nov. 2005 à 14:39
Ok. Alors les solutions (enfin surtout la notino de modèle) m'ont été utiles.
Il me reste un souci maintenant...
Comment manipuler un objet ?
Je m'explique...
Dans ma fonction je fais la chose suivante :
a.MonObject.OnClick->Declenche une fonction qui va dans b
b.MaFonction...
Maintenant j'aimerais bien faire la chose suivante
a.MonAutreObject=b.MaFonction2 (appelée par b.MaFonction)
Si je passe par une fonction dans mon module (qui ferait un genre d'appel à une fonction dans A qui mettrait à jour des objets), le pb est le mm qu'auparavant : 'Variable Objet ou bloc Width non défini'
En gros, je suppose qu'il faudrait que j'arrive à passer un objet 'graphique' cette fois ci, de mon interface A, en type public, ce qui serait jouable en .Net... (en déclarant les types à la mano). Mais en VB, est ce possible ?
Ou y a til une autre solution qui m'échappe ?
****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
cs_vpoyo
Messages postés363Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 avril 20106 22 nov. 2005 à 14:52
si MonAutreObjet est un membre de a et public (du moins tu y a accès) donc définit dans la classe A,
que MaFonction2 soit une méthode public ou accessible défini dans la classe B
et que cette fonction retourne un objet du même type que MonAutreObjet
alors je ne vois pas pourquoi ca pourrais poser problème et aussi bien en vb.net qu'en vb6
PeTeRsLaStAr
Messages postés158Date d'inscriptionsamedi 22 juin 2002StatutMembreDernière intervention27 juin 20151 22 nov. 2005 à 14:57
Je parle d'éléments graphiques là, hein, comme un textBox par exemple...
Le souci, c'est que qd je fais A.(plus control espace pour voir toutes mes fonctions hein), je vois effectivement toutes mes fonctions 'publiques'.
Par contre, je vois pas mes objets, comme par exemple A.MonTxtBox
Tu situes le pb ?
****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
cs_vpoyo
Messages postés363Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 avril 20106 22 nov. 2005 à 15:03
élément graphique ou pas un objet reste un objet
ton textbox (en général) est défini dans une form, c'est form est d'ailleurs un classe fille de la classe Form de base
si tu fais maForm. (+ctrl espcace) tu verras que textBox y est déclaré, pourquoi parce que c'est un sous objet de ta form (qu'on appelera F)
si tu veux y accéder depuis l'extérieur il faut récupérer une instace de cette form et la caster en F, tu auras accès a ton textBox. car celui ci est un membre de F et non de Form
cs_vpoyo
Messages postés363Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 avril 20106 22 nov. 2005 à 15:34
De rien, c'est vrai que la solution des évènement me vient rarement à l'esprit, je m'en sert plus dans des prog multithreadés, là c'est super utile.
Sans vouloir te vexer, reprend bien les principes de la programmation objet, et du polymorphisme / héritage. Bien comprendre les mécanismes résoud énormément de problème et sans évènement ;).
cs_vpoyo
Messages postés363Date d'inscriptionvendredi 14 février 2003StatutMembreDernière intervention20 avril 20106 22 nov. 2005 à 15:57
C'est vrai que c'est pas un véritable langage objet, plutot un langage "bâtard" (excusez mon langage) entre langage procédural, évènementiel et objet. mais on arrive a appliquer pas mal de principe objet. c'est clair que vb.net ca n'a rien a voir, et franchement pour moi y a pas photo, je prend ^^
PeTeRsLaStAr
Messages postés158Date d'inscriptionsamedi 22 juin 2002StatutMembreDernière intervention27 juin 20151 22 nov. 2005 à 16:01
Après en fonction de 'lurgence des projest', qd t'as déjà des dll avec du code nécessaire, et que tu exlpiques que pour passer au .Net il faut retranscrire une partie des dll car pas compilable en CLR... ben ça refroidis tout de sutie...
En fait dans mon taf, je fais une partie de vb6 et une partie en C#. Tjrs moins cool qd je suis dans la partie Vb6...
****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher