Application.Initialize 就我们目前的程序可以没有,他的作用是提供一个初始化的机会,可以制定一个InitProc的函数,他会自动调用。
如果你看看VCL的源代码你会发现他是这么定义的
procedure TApplication.Initialize;
begin
  if InitProc <> nil then
    TProcedure(InitProc);
end;就是说,如果你没有在程序里面声明定义 InitProc这个函数指针,那么这个 Initialize是没任何作用的,你完全可以注释掉。而我们目前似乎很少需要特别初始化什么东西。
这个函数是VCL的框架提供的,他给了我们一个标准的框架结构,同时提供了自定义初始化的机会。
看看帮助,我觉得他写得非常详细了。