How can a Delphi TForm / TPersistent object calculate its own deserialization time?

Posted by mjustin on Stack Overflow See other posts from Stack Overflow or by mjustin
Published on 2010-03-14T12:27:57Z Indexed on 2010/03/14 16:05 UTC
Read the original article Hit count: 419

Filed under:
|
|

For performance tests I need a way to measure the time needed for a form to load its definition from the DFM. All existing forms inherit a custom form class.

To capture the current time, this base class needs overriden methods as "extension points":

  1. start of the deserialization process
  2. after the deserialization (can be implemented by overriding the Loaded procedure)
  3. the moment just before the execution of the OnFormCreate event

So the log for TMyForm.Create(nil) could look like:

- 00.000 instance created
- 00.010 before deserialization
- 01.823 after deserialization
- 02.340 before OnFormCreate

Which TObject (or TComponent) methods are best suited? Maybe there are other extension points in the form creation process, please feel free to make suggestions.

© Stack Overflow or respective owner

Related posts about delphi

Related posts about deserialization