14.12.2015, 19:42
Kurz: *item ist das .tuiMenuItem, *ntui ist die .tuiEngine
Lang:
*item ist hier .tuiMenuItem, du solltest aber .tuiObject nehmen (sonst machst du einen pösen Cast) und dann testen ob das stimmt, denn jemand könnte ja aus dem Fragment.xml auch was anderes machen:
[ab3]*item.tuiObject = ntui_GetObjectByID{*fragment,"NCGadgetListItem"}
if (*item >< Null)
ntui_GetAttr{*item,#TUIA_CLASSID,&classId.l}
If (classId=#TUICLASS_MENUITEM)
...
End If
End If[/ab3]
*ntui ist irgendein übergeordnetes Objekt. Engine, Window, Group. Ich mache immer die Engine selbst global, damit man von überall bequem an die Objekte kommt. Setzt natürlich voraus, dass du die Objekt ID nur einmal hast, also z.B. keine Editor Fenster hast. Sonst musst du erst das entsprechende Fenster/Gruppe suchen, und dann die ID.
Lang:
*item ist hier .tuiMenuItem, du solltest aber .tuiObject nehmen (sonst machst du einen pösen Cast) und dann testen ob das stimmt, denn jemand könnte ja aus dem Fragment.xml auch was anderes machen:
[ab3]*item.tuiObject = ntui_GetObjectByID{*fragment,"NCGadgetListItem"}
if (*item >< Null)
ntui_GetAttr{*item,#TUIA_CLASSID,&classId.l}
If (classId=#TUICLASS_MENUITEM)
...
End If
End If[/ab3]
*ntui ist irgendein übergeordnetes Objekt. Engine, Window, Group. Ich mache immer die Engine selbst global, damit man von überall bequem an die Objekte kommt. Setzt natürlich voraus, dass du die Objekt ID nur einmal hast, also z.B. keine Editor Fenster hast. Sonst musst du erst das entsprechende Fenster/Gruppe suchen, und dann die ID.