I typed following codes to define ribbon, under delphi, however I couldn't get the properties from scripter, such as visible, caption etc with "KelebekRibbon.Tabs.Items[0]. "
You defined it wrong. The parameters you are passing in DefineProp are not correct. First you said the property returns an integer (tkInteger) but later you inform that the class returned by the property is TRibbonTabItem. Also, the "true, 2" parameters indicate that the property should be a class property (which is not correct) and is indexed with two index parameters.
You must define an indexed property named "Tabs" which return a TRibbonTabItem, and them define a Visible property in the TRibbonTabItem class (if it's not already a published property).
i can see now the properties of items but i can't change variables ( (published property) caption, visible etc.)
I am getting an error like:
'RUNTIME ERROR
File library Unit1: Access violation at address 5092464E in module 'vclribbon190.bpl'. Read of address 00000035 when evaluating instruction CallProc ($FFFFFFFF,$FF,$432234,$480E1A0,'Visible').
Although the name doesn't matter, you should rename GetRibbonVisible to GetRibbonItems and just remove SetRibbonVisible.
You are declaring an indexed property named "Items" that return a TRibbonTabItem, it has nothing to do with Visible property. Correct code should be this: