例如:
在程序入口main.pas中 uses了 a.pas, b.pas; 
a.pas和b.pas分别都  uses 了 c.pas;
假设main.pas, a.pas, b.pad, c.pas 都定义了 initialization 部分。那当程序运行时,c.pas 的 initialization 部分会执行多次吗?
整个程序的执行顺序又是什么样的呢?
1. main.pas -> initialization部分 
2. a.pas    -> initialization部分 
3. b.pas    -> initialization部分
4. c.pas    -> initialization部分 
是1、2、3、4这样只执行吗?

解决方案 »

  1.   

    1. 很简单的, 你在每个initialization部分加上一个调试显示信息就知道了;
    2. 很多事情都有理论和实践两个方法, 理论不精的时候, 多实践(试验)几次也是可以的;
      

  2.   

    main, c, a, b或者main, c, b, a
    按a,b在main中的引用顺序有上面两种情况
    c只ini一次
      

  3.   

    unit c;interfaceuses
      Dialogs;implementationinitialization
      ShowMessage('c,ini');finalization
      ShowMessage('c,fini');end.
      

  4.   

    Initialization只在第一次加载入内存时执行
      

  5.   

    c.pas 的init部分只会执行一次,这个好像没什么疑问了。
    执行顺序是什么样子的,大侠们统一下,结贴,散分啦
      

  6.   

    大胆猜想,小心实现!
    写个Demo测试一下不就知道了吗?