The only words that spring into mind again are four letter ones.  I 
need to detect the last loaded..  Which will work for now in D3.  Not 
sure what I will do with D5.  I suppose I can always directly modiy 
the VCL  :-)  Thanks max.

Regards

On 29 Jul 99 at 14:19, Max Nilson wrote:

> Rohit Gupta asked us:
> 
> > Is there a valid reason why loaded is called twice for a grid thats
> > on the ancestor form when you inherit it using the repository ?
> 
> This business of Loaded and inherited forms is fun area that causes
> endless problems.
> 
> In Delphi 3 as each level of inherited form finished streaming its
> resources in the Loaded method was called, probably on the theory that
> each level's components should be in a good state before loading the nest
> level of form. You could detect this situation because the components
> stayed with csLoading in ComponenState until the final top level of form
> inheritance was loaded, and at that stage it was safe to actually do the
> loaded functionality.
> 
> In Delphi 4 this situation has changed. Now during each inherited forms
> loading process any components streamed in are added to the end of a list
> that is traversed once the last form has streamed. Unfortunately if a
> component has properties changed in N of the inherited form levels it will
> appear N times in the list, and its loaded methods will be called N times!
> You can't detect this usine the csLoading state as it is cleared before
> the list is processed.
> 
> As far as is known Delphi 5 makes no major changes to the streaming
> mechanism so we can hope for no relief from that quarter...
> 
> So the best solution appears to be that in Delphi 3 you check for the
> csLoading flag to be cleared and do your stuff then, while in Delphi 4 you
> must keep your own flag and ensure that you do the loaded processing only
> once not matter how many times you are called.
> 
> The other option is to try and ensure that the Loaded call has no costly
> or unfortutate side effects if called more than once.
> 

Rohit

======================================================================
CFL - Computer Fanatics Ltd.  21 Barry's Point Road, AKL, New Zealand
PH    (649) 489-2280 
FX    (649) 489-2290
email [EMAIL PROTECTED]  or  [EMAIL PROTECTED]
======================================================================

---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz

Reply via email to