Subject | IBO's use of StringList |
---|---|
Author | Eric Handbury |
Post date | 2002-09-15T22:32:36Z |
Hello,
(BCB6-SP2, IBO4_2Hg, FB-1.0-796)
I have a major form with about 50 queries of which not all are open
at any 1 time. Most of the queries are attached to Grids, which in my
case, display a very small subset of the fields from the query since
I don't allow the user to edit information from the Grid... they are
there for display purposes only.
Because of my strategy, I have hundreds of data_fields whose
FieldsVisible property is set as: FIELDNAME=F.
When I think of the runtime impact of having all those
TIB_StringList entries, I wonder if there is a better way. Not only
is there substantial memory being allocated for these StringLists,
there must a runtime penalty having to parse all the entries when
displaying the Grids.
Could there not be a new property like IgnoreAllFields, which when
set to true means that all data_fields are not visible unless
specified as FIELDNAME=T on the FieldsVisible property. In a case
where I have (say) 30 fields on the query (and only display 4 on the
Grid), this would be a savings of 26 StringList entries. Given I have
50 or so queries, the savings in memory and performance could be
substantial.
Another approach is to have a special fieldname called __FIELDNAME,
which could be set to T or F which would set the default visible
property for the dataset, so I could have in the FieldsVisible
property:
__FIELDNAME=F
LASTNAME=T
STATUS=T
which, again, could amount to a real savings.
Of course, I may be missing the point completely and am doing
things totally wrong.
Thanks for your comments. Eric.
(BCB6-SP2, IBO4_2Hg, FB-1.0-796)
I have a major form with about 50 queries of which not all are open
at any 1 time. Most of the queries are attached to Grids, which in my
case, display a very small subset of the fields from the query since
I don't allow the user to edit information from the Grid... they are
there for display purposes only.
Because of my strategy, I have hundreds of data_fields whose
FieldsVisible property is set as: FIELDNAME=F.
When I think of the runtime impact of having all those
TIB_StringList entries, I wonder if there is a better way. Not only
is there substantial memory being allocated for these StringLists,
there must a runtime penalty having to parse all the entries when
displaying the Grids.
Could there not be a new property like IgnoreAllFields, which when
set to true means that all data_fields are not visible unless
specified as FIELDNAME=T on the FieldsVisible property. In a case
where I have (say) 30 fields on the query (and only display 4 on the
Grid), this would be a savings of 26 StringList entries. Given I have
50 or so queries, the savings in memory and performance could be
substantial.
Another approach is to have a special fieldname called __FIELDNAME,
which could be set to T or F which would set the default visible
property for the dataset, so I could have in the FieldsVisible
property:
__FIELDNAME=F
LASTNAME=T
STATUS=T
which, again, could amount to a real savings.
Of course, I may be missing the point completely and am doing
things totally wrong.
Thanks for your comments. Eric.