Hi,

I build some framework to access Delphi components from D.
Delphi supports property array access "StringGrid1.Columns[2]" which is translated in Delphi to a private method call "GetColumn(2)".

I need to imitate this behavior in my D code.
Therefore my TCustomGrid class has a inner struct ColumnsArray with an opIndex. While accessing opIndex I need to call a DLL method. Therefore I need the "reference" attribute which is available in my TCustomGrid via inheritance.

To make my question short:) If ColumnsArray is a class I can access the attribute "reference" but not if it is a struct. I would rather prefer a struct, but with a struct
it seems I cannot access "reference".

How can I access "reference" from my inner struct?

class TCustomGrid: TCustomPresentedScrollBox
{       
        struct ColumnsArray
        {
                TColumn opIndex(int index)
                {
int r = getIntegerIndexedPropertyReference(reference, "Columns", index);
                        return new TColumn(r);
                }
        }
        
        ColumnsArray Columns;
...
}

Kind regards
André

Reply via email to