DELPHI报这样的错的话,产生的原因会有多种,你最好跟一下,看看出错在那里,或者把代码贴上来看看。

解决方案 »

  1.   

    to  CeleronII(抽烟的鱼):
      怎么跟踪调试DLL啊,我不知道啊!
      

  2.   

    1.DLL中var
      frmQry: TfrmQry;
      TabName,DBName : widestring ;//表、数据库名称
      Itype : array of widestring;//所有字段的数据类型
      IDatatype : integer ;   //当前字段数据类型
      procedure QueryEx(AHandle:THandle;ACaption,Dname,tName:widestring);stdcall ;implementation
    。。
    procedure QueryEx(AHandle: THandle; ACaption, Dname, tName: widestring);
    var
      frm : TfrmQry ;
    begin
      Application.Handle := AHandle ;
      TabName := tName ;
      DBName := Dname ;
      frm := TfrmQry.Create(Application) ;
      try
        frm.Caption := ACaption ;    //加入应初始化
        frm.initApp;
        frm.ShowModal ;
      finally
        frm.Free ;
      end;end;
    ===========
    2.调用
        procedure QueryEx(AHandle: THandle; ACaption, Dname, tName: widestring);
    implementation
        procedure QueryEx; external 'ZdsQueryP.dll' name 'QueryEx' ;
    .........
       QueryEx(Application.handle,'helloQuery','sms','v_program') ;
    ===================================
    感兴趣的大虾,都帮忙看看,谢谢!
      

  3.   

    加断点啊,不和普通的应用程序一样调试吗!!记着在project-option里面的compile页和link页中改打的勾打上。否则会跟不起来
      

  4.   

    谢谢 CeleronII,我就是跟不到DLL中,试一下去了!
      

  5.   

    可惜,跟踪到system单元中的一段汇编代码出现错.....
    更是一头雾水....
      

  6.   

    2.调用
    procedure QueryEx(AHandle: THandle; ACaption, Dname, tName: widestring);
    implementation
    procedure QueryEx; external 'ZdsQueryP.dll' name 'QueryEx' ;//出错了
      

  7.   

    谢谢 CeleronII,
       问题已解决!