奇怪的问题ChildForm建立在DLL里面,还有一个DataModule也是的我的ChildForm里面创建了一个TStrings类型的public变量,偶肯定初始化了在DataModule中use了ChildFormUnit然后在DataModule中ChildForm.MyStrings.Clear;就报地址错误,在ChildForm中自己用就没有问题,汗啊……崩溃中……

解决方案 »

  1.   

    是不是datamodule还没有初始化?或者datamodule调用ChildForm.MyStrings.Clear是form还没初始化?
    "我的ChildForm里面创建了一个TStrings类型的public变量,偶肯定初始化了"你这句话的意思是指TStrings被在ChildForm里初始化了吧。而不是调用这个dll是form和datamodule被初始化了。
      

  2.   

    都初始化了
    我调式了一下
    先FormCreate
    然后DataModule初始化
    然后就是FormOnShow我在FormOnShow里面调用了一个DataModule的public的函数
    在哪个函数中执行的clear,报错但是我在FormOnShow里面执行clear却没有任何问题
      

  3.   

    是不是你初始化form的时候,不是用ChildForm这个变量初始化的,然后datamodule使用了这个变量ChildForm.MyStrings.Clear
      

  4.   

    我就一个ChildForm 不会弄错的
      

  5.   

    没有了,就是看不出问题在那啊,汗,不用DLL就不会有问题
      

  6.   

    呵呵,用DLL时通常问题比较多,所以我不用
      

  7.   

    好早就见人问过类似问题,结论是:No way!看看别人的东东就行:
    http://delphi.about.com/library/weekly/aa020805a.htm
      

  8.   

    上面的文章的建议是用包来存放mdi窗体而不是用DLL