Object - ComponentTypeName Property
ComponentTypeName is the fully qualified name of the component's class.
Member of Object (PRIM_OBJT)
Data Type - String
Details
ComponentTypeName is the fully qualified name of the component's class including its pattername if it is a member of another class.
For classes defined in LANSA as a member of another class, otherwise known as a Pattern e.g. PRIM_VS.Style, the ComponentTypeName is "PRIM_VS".
Unless the application requires complex generic programming, ComponentTypeName is unlikely to be required for most development purposes.
Example
This simple form demonstrates the difference between ComponentTypeName, ComponentClassName and ComponentPatternName
Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientwidth(861) Clientheight(404) Componentversion(2) Top(227) Left(222)
Define_Com Class(#PRIM_VS.Style) Name(#Style1) Backgroundbrush(#Brush1)
Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush1) Color(154:212:255)
Define_Com Class(#PRIM_LABL) Name(#Label1) Caption('Label1') Displayposition(1) Ellipses(Word) Height(25) Left(272) Parent(#COM_OWNER) Tabposition(1) Tabstop(False) Top(19) Verticalalignment(Center) Width(265) Style(#Style1) Marginleft(4)
Define_Com Class(#PRIM_LABL) Name(#Label2) Caption('Label2') Displayposition(2) Ellipses(Word) Height(25) Left(272) Parent(#COM_OWNER) Tabposition(2) Tabstop(False) Top(54) Verticalalignment(Center) Width(265) Style(#Style1) Marginleft(4)
Define_Com Class(#PRIM_LABL) Name(#Label3) Caption('Label3') Displayposition(3) Ellipses(Word) Height(25) Left(272) Parent(#COM_OWNER) Tabposition(3) Tabstop(False) Top(88) Verticalalignment(Center) Width(265) Style(#Style1) Marginleft(4)
Evtroutine Handling(#COm_owner.CreateInstance)
#Label1 := "ClassName" + " - " + #Style1.ComponentClassName
#Label2 := "PatternName" + " - " + #Style1.ComponentPatternName
#Label3 := "TypeName" + " - " + #Style1.ComponentTypeName
Endroutine
End_Com