如何在程序启动时跟踪控件/组件的创建?

时间:2014-07-30 13:28:19

标签: delphi delphi-xe2 trace codesite

在我的Delphi XE2 VCL表单项目的DPR文件中,我有以下代码:

CodeSite.Send('DPR Before CreateForm');
Application.CreateForm(TformMain, formMain);

在FormCreate事件处理程序的开头,这段代码:

procedure TformMain.FormCreate(Sender: TObject);
begin
  CodeSite.Send('1 FormCreate');

然而, BETWEEN 这两个CodeSite语句(创建表单上的控件和组件),程序崩溃。 (我可以在CodeSite Live Viewer中看到这一点,其中DPR Before CreateForm最后一个日志条目)。

那么如何找出创建哪些控件或组件会导致程序崩溃?

1 个答案:

答案 0 :(得分:0)

找到崩溃/错误的原因:我在主窗体上有一个TEmbeddedWB。在FormCreate中,我有这个声明导致崩溃/错误:

EmbeddedWB1.SetCharartersSet('_autodetect_all');

只需将此语句移动到FormShow,崩溃/错误就消失了。显然,在FormCreate中尚未建立与Internet Explorer的Ole连接(而在FormShow中似乎是这样)。