At 5:18 PM +0200 2002/02/05, Louis wrote:
>I am working with a table and have a table ptr declared as follows:
> TableType* pT = FrmGetObjectPtr(Form,FrmGetObjectIndex(Form,TableId));
>if I want to get the number of columns, I do the following:
> Int16 ColumnCount = pT->numColumns;
>but I get the following compiler error:
> illegal use of incomplete struct/union/class 'struct TableType'
>Same for pT->items, etc...
>
>What does this mean?
That there's a problem in the way you access pT->numColumns and pT->items. I'm going
to guess you're using very recent SDK headers to build your code. Look up the
definition of TableType in Table.h and you'll probably see something like this:
typedef struct TableType
#ifdef ALLOW_ACCESS_TO_INTERNALS_OF_TABLES // These fields will not be available in
the next OS release!
{
UInt16 id;
RectangleType bounds;
TableAttrType attr;
Int16 numColumns;
Int16 numRows;
Int16 currentRow;
Int16 currentColumn;
Int16 topRow;
TableColumnAttrType * columnAttrs;
TableRowAttrType * rowAttrs;
TableItemPtr items;
FieldType currentField;
}
#endif
TableType;
The #ifdef/#endif pair removes the visibility of all structure members unless you
specifically #define ALLOW_ACCESS_TO_INTERNALS_OF_TABLES. The compiler is saying the
numColumns and items fields of TableType do not exist... because they don't, unless
you override the "default" typedef.
Regards,
Jim Schram
PalmSource Inc.
Partner Engineering
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palmos.com/dev/tech/support/forums/