I am, if only so I can find a online translator so I can understand it!
>These are some really good points and I have added your and Cetin's messages to my favorite folders for future reference. I hope Jay (Renoir) is making note of your thoughts...
>
>
>
>
>>>
>>>Yes, this is good. His case was somewhat special. Rethinking about it he may simply have the
>>>empty tables serving as structures and his code would be:
>>>
>>> PROCEDURE GetCursor
>>> PARAMETERS tcMessageType, tcCursorType, tcCursorName
>>> Dodefault()
>>> select * from (m.tcMessageType + "_" + m.tcCursorType) ;
>>> where .f. ;
>>> into cursor (m.tcCursorName) readwrite
>>> ENDPROC
>>>
>>
>>Yupp, I had visualized a simple fieldlist in each of the cursor classes and the base class has the "logic" to make a create cursor call. Using empty tables is even easier, but makes it harder to keep track of the whole project via source safe<g>. And for reporting / mailable files we often have identical field lists for personal info and differing lists for specific detail info. Here the inheritance helps, although you could get the same effect with joining the "person" fields into the empty cursor. But too much speculation on not enough info from the OP <bg>.
>>
>>thomas