je suis en train de créer un modèle de vue "auto adaptatif".
Cette vue est déjà relié a un UDT de l'automate, je souhaite utiliser un autre UDT côté IHM pour faire le réglage des positions des éléments graphique dans la vue. L'architecture de la vue est celui-ci
- txt_NomCycle (objet graphique texte)
-SepVerti (une ligne vertical servant à positionner les fenêtre de vue sur la droite de la ligne)
-scrw_cdtInit (fenêtre de vue des conditions initiales placé à droite de SepVerti et à 10 pixel en hauteur par rapport à sa vue parente)
-scrw_cdtDem (fenêtre de vue des demandes de démarrage de cycle, en dessous de scrw_cdtInit + 5 pixel)
Le fonctionnement est prévue comme suit:
La vue principale exécute le script suivant sur l'événement "chargé", et génère le nom de la variable UDT à partir du nom de la vue
Code : Tout sélectionner
Sub OnGenerateScreen()
'Démarrage de la routine des positions
Dim cycleName, seqTag
ToTrace "Coucou"
ToTrace "Nom de la vue: " & ScreenItems.Parent.ObjectName
cycleName = Split(ScreenItems.Parent.ObjectName, " - ")
'ToTrace "cycleName: " & cycleName(1)
seqTag = "@NOP::" & Replace (cycleName(1)," ","_")
seqTag = Replace (seqTag,".","_")
ToTrace "seqTag: " & seqTag
'SmartTags("@NOP::Dépotage_vers_CS_01.if_OneTIme") ' ici un glissé déposé de la variable UDT IHM
ToTrace "ifOneTime: " & SmartTags(seqTag & ".if_OneTime")
If SmartTags(seqTag & ".if_OneTime") Then 'SmartTags(seqTag & ".if_OneTime")
ScreenItems("txt_NomCycle").Text = SmartTags(seqTag & ".NomCycle")
ScreenItems("scrw_cdtInit").Top = SmartTags(seqTag & ".cdtInit_Top")
ScreenItems("scrw_cdtInit").Left = SmartTags(seqTag & ".cdt_Left")
ScreenItems("scrw_cdtInit").Visible = True
ScreenItems("scrw_cdtDem").Top = SmartTags(seqTag & ".cdtDem_Top")
ScreenItems("scrw_cdtDem").Left = SmartTags(seqTag & ".cdt_Left")
ScreenItems("scrw_cdtDem").Visible = True
ScreenItems("scrw_cdtAn").Top = SmartTags(seqTag & ".cdtAn_Top")
ScreenItems("scrw_cdtAn").Left = SmartTags(seqTag & ".cdt_Left")
ScreenItems("scrw_cdtAn").Visible = True
ScreenItems("scrw_cdtAd").Top = SmartTags(seqTag & ".cdtAd_Top")
ScreenItems("scrw_cdtAd").Left = SmartTags(seqTag & ".cdt_Left")
ScreenItems("scrw_cdtAd").Visible = True
Else
SmartTags(seqTag & ".NomCycle") = cycleName(1)
SmartTags(seqTag & ".if_OneTime") = True
ToTrace "NomCycle: " & cycleName(1)
ScreenItems("scrw_cdtInit").Visible = True 'Lance le script "chargé" de la "scrw_cdtInit"
End If
End SubPourtant elle est nommé ainsi lors que j'en fait un glissé déposé.
Que manque-t-il pour que cela fonctionne?
Merci d'avance, et bonne journée.

