我写了一个用ADO操作数据库的Form的DLL.dll,当调用此DLL.dll时就会出现"标记不没有引用存储"或者"Exception EOleSysError in module Dll.DLL at 00026E25"请问如何解决,谢谢

解决方案 »

  1.   

    我加上ActiveX单元情况也是一样
    只有在DLL中的窗体上有ADO控件而且不对ADO做任何属性和方法的设定
    与修改都会有如此错误,把ADO控件去后就不会有错误提示了.
      

  2.   

    你可能在引用DLL中的某个涵数, 你没有指明应用DLL的路劲,
      

  3.   

    Procedure ShowForm(AHandle:THandle);stdcall;
    var
     form1:TFrom1;
    begin
      Application.Handle:=AHandle;
      Form1:=Tform1.create(application);
      try
        form1.showModal;
      finally
       from1.free;
      end;
      
    end;
    Form1上只有ADOConnection1控件,没做设定.
      

  4.   

    library里不要用ado的东西
    统统放到form单元里
    说的太不详细了,你想让别人怎么帮你啊???
      

  5.   

    多谢各位大侠帮忙!!!
    我详细说明一下,我新建一个Library,并新建一个Form,在Form上放置一个Adoconnect控件,仅此而已,在此Form中写出一个运行窗口函数ShowForm(AHandle:THandle)(见上面的程序);并Exports,在调用DLL的过程中出错,我试过多个ADO控件都是如此,去掉这些ADO控件则Form就能正常运行。
      

  6.   

    要设置你那个Form为主窗体,其他为子窗体,然后用dll调用主窗体的可执行文件即可。这与有没有Adoconnect都没关系。出错的原因是没有设置主窗体,dll不知道要调用那个窗体,所以发出提示错误信息。