Propriétés en late binding

Résolu
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 - 20 févr. 2006 à 01:29
PCPT Messages postés 13278 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 20 févr. 2006 à 17:57
Bonjour à tous,
voilà j'ai un bon problème, pour une question pratique j'utilise des ocx que je charge en late-binding,c'est à dire en faisant :
Set ctlobjOcx = frmMain.Controls.Add(OcxNomInterne + "." + OcxNomOcx, OcxNomOcx, Container)

Cependant pour mes controles chargés de cette façon, je n'arrive pas à acceder à leurs propriétés sauf à celles de bases pour un objet (name, height, width etc...). Bien sur je n'ai pas l'intellisense, mais meme en le tapant à la main :
Ocx.Caption="Hello"

ne marche pas, alors que l'ocx supporte bien la propriété caption :
Public Property Get Caption() As String
Caption = "Horloge"
End Property

J'obtiens l'erreur :
Object doesn't support this property or method

Merci à tous ceux qui pourront m'apporter de l'aide

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st

5 réponses

MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
20 févr. 2006 à 17:52
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
une nuit et un aprem plus tard : la réponse

Tout simplement il faut faire :
Horloge1.object.BackColor = vbWhite
et non :
Horloge1.BackColor = vbWhite

Merci de ton attention quand meme pcpt !

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st
3
PCPT Messages postés 13278 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
20 févr. 2006 à 02:35
salut,

pour test, en faisant for each Ctrls in Me

if typeof ctrls is TON_TYPE_DE_CONTROL then msgbox ....



tu as quelques chose?

la Form détecte bien ces contrôles?
0
MadM@tt Messages postés 2167 Date d'inscription mardi 11 novembre 2003 Statut Membre Dernière intervention 16 juillet 2009 1
20 févr. 2006 à 17:03
Merci pour ta réponse.

Voilà avec ces lignes :
For Each ctrls In Me
If TypeOf ctrls Is Horloge Then MsgBox ctrls.Name
Next

Tout simplement, en early binding (composant ajouté avec la souris) ça me fait un msgbox Horloge1 mais en late binding ça ne se lance pas : "user -defined type not defined" sur la ligne du milieu.
J'ajoute le composant avec cette ligne :

Set Horloge1 = Form2.Controls.Add("HorlogeProject.Horloge", "Horloge")
Horloge1.Visible = True

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st
0
PCPT Messages postés 13278 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
20 févr. 2006 à 17:56
tu sais au moins que le problème des propriétés vient du fait que ton composant n'est pas normalement reconnu.



cette syntaxe [Set Horloge1 = Form2.Controls.Add("HorlogeProject.Horloge", "Horloge")] me parraît bizarre....

Horloge1 est déclaré en tant qu'objet sur .... Form1 ?



l'objet est référencé dans le projet ....

as-tu essayé qqchose du genre :

Set Me.Horloge1 = VB.Controls.Add("Horloge","Horloge")



à tenter.....
0

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

Posez votre question
PCPT Messages postés 13278 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 48
20 févr. 2006 à 17:57
arf, ok

++
0
Rejoignez-nous