在我的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
是最后一个日志条目)。
那么如何找出创建哪些控件或组件会导致程序崩溃?
答案 0 :(得分:0)
找到崩溃/错误的原因:我在主窗体上有一个TEmbeddedWB。在FormCreate中,我有这个声明导致崩溃/错误:
EmbeddedWB1.SetCharartersSet('_autodetect_all');
只需将此语句移动到FormShow,崩溃/错误就消失了。显然,在FormCreate中尚未建立与Internet Explorer的Ole连接(而在FormShow中似乎是这样)。