我的一个程序在别人那里是好用的,但是在我这里编译时,却告诉我找不到select.dcu文件,但我却找到了select.dfm和select.pas文件,哪位大哥可以告诉我如何才能编译过去啊,如何能再次生成select.dcu文件?还有一个关于DLL的问题,什么时候导入dll文件需要注册啊,
生成一个DLL又如何在一个新的工程中调用,我怎么找不到详细的资料啊?

解决方案 »

  1.   

    如果你有pas文件和dfm文件,但是不能编译过去.检查一下工程里需要的文件,你还缺少哪些,如果你少这些文件,是不能编译这个工程的.
    检查一下你的pas文件,看它uses了哪些找不到的单元,缺少这些单元你也是无法编译的.
      

  2.   

    有select.pas就不需要select.dcu把select.pas加入您的工程即可
    project->add to project-->然后再uses select.pas;
      

  3.   

    dcu文件是临时文件,在编译时可以重新生成的
    一般情况下.dpr,.dfm,.pas是必需的,其它的都可以重新生成,有时会提示找不到dcu文件,有时是丢失了,有时是dcu文件与.pas,.dfm文件版本不同,可以将其文件夹下所有的.dcu文件全部删除,再进行编译就不会提示了,不过删除文件时小心不要把必需的文件删了
      

  4.   

    没办法了,都说了,但是还有一个最没有的办法,如果做的还不大的话,重新做一Form,再把代码COPY过去,再执行就OK了!
      

  5.   

    菜单-工具-环境选项-library-添加该dcu文件的文件夹。导入DLL有隐式和显示调用两种。隐式是表态调用 显式是表态调用。前者如: function 方法名 stdcall;external "DLL所在的文件路径"
    后者要用到三个API,比较麻烦:
     LoadLibrary(“DLL所在的文件路径”) GetLibrary("方法名”)
    FreeLibrary("方法名”). 
      

  6.   

    duc的问题,它是一个临时的文件可以删除的。有它无它没有问题的。
    可能是你的PAS单元里USES部分引用其他的单元,你可以找找吧。
      

  7.   

    如果你有pas文件和dfm文件,但是不能编译过去.检查一下工程里需要的文件,你还缺少哪些,如果你少这些文件,是不能编译这个工程的.
    检查一下你的pas文件,看它uses了哪些找不到的单元,缺少这些单元你也是无法编译的.
    把select.pas加入您的工程即可
    project->add to project-->