为什么我用delphi做的dll只能uses一个3个文件(如下面的:SysUtils, Classes,
MyData),再Uses一个文件就出问题,一调用就卡死,我也没有增加新的函数啊。
一个library 声明如下:
===========================
library MyDll;uses
  SysUtils,
  Classes,
  MyData in 'MyData.pas';{$R *.res}exports
    ShowMe;
begin
end.
================================
其中 ShowMe再MyData 中有了定义。而且这样是 没问题的。
但是如果我再Uses一个pas文件到工程中来(如下),dll就没法调用了,(但是可以编译通过)一调用就卡死。
=================================
library MyDll;uses
  SysUtils,
  Classes,
  MyData in 'MyData.pas',
  MyData2 in 'MyData2.pas',;     // 新加的文件,调用时会卡死{$R *.res}exports
    ShowMe;
begin
end.
================================
其中MyData2 是新加的文件。请各位高手指点!

解决方案 »

  1.   

    //uses 引入单元数量应该没有限制,只要需要 ;DLL 项目中有没有 MyData2.pas ?
      

  2.   

    估计你的mydata2.pas和mydata1.pas里面做过同样的工作,比如对dll的初始化等!因此。。还有,mydata2.pas里面不会是也有个showme函数吧?
      

  3.   

    uses
      SysUtils,
      Classes,
      MyData in 'MyData.pas',
      MyData2 in 'MyData2.pas',;     // 把分号之前的逗号去掉先,,
      

  4.   

    用yoic(我是一棵菠菜,菜,菜,菜,菜,菜,菜)的方法试一试