对于Delphi程序员来说应该是简单问题。
我需要将朋友用Delphi做的exe,改为dll,能用VS.Net调用的。
源程序我看很简单,用TBackupFile做个备份就行,有用代码1行就行。
我不会用Delphi希望有个DX能牺牲10到20分钟的时间,帮我改一下。
我有该exe,和TBackupFile控件的源程序。
在线等。。

解决方案 »

  1.   

    To:
    g961681(Rabby.W.)  
    wozhuchuanwei(一个组件编写者,就一定是一个更优秀的Delphi开发者) 
    邮件已发
    谢谢啊。
      

  2.   

    好像没这么难吧?
    我已经发了3封信了。
    Delphi做DLL很复杂吗?
      

  3.   

    将backup.dpr文件改为如下内容,基本上应该可以了
    library backup;uses
      Forms,
      BFHF in 'BFHF.PAS' {BFHFFRM};{$R *.RES}
    procedure OpenFrm;stdcall;
    begin
      bfhffrm:=Tbfhffrm.create(nil);
      bfhffrm.showmodal;
      bfhffrm.free;
    end;
    exports
      OpenFrm;
    beginend.
      

  4.   

    to zy956(老满哥):
    邮件已发。
    谢谢。to  gwolf(阿呆) :
    你写的我看不懂,我没有Delphi经验。
    我怎么编译成Dll阿,怎么调用阿?
      

  5.   

    把工程名.dpr文件的内容用上面的代码替换了,build,就会生成dll文件。
    调用的时候分静态和动态调用,以静态为例:在需调用此dll的文件的var变量声明的上面一行写
    ...
    procedure OpenFrm;stdcall;external 'you_dll_file.dll';var
    ...
    再需要的地方直接调用方法就行了。
      

  6.   

    To:gwolf(阿呆) 真像你说的那么简单吗?楼主要求是给 VS.NET 用,而你这样做一般结果是只有 Delphi 能用。
    为什么?因为 Delphi 的类型跟 VS.NET 类型不一样,最简单的例子:String 类型是 Delphi 独有的,所以写成 Dll 的话要把 String 转换为 PCHAR
      

  7.   

    TBackupFile控件的源程序不全,缺少HemiBtn.pas
      

  8.   

    不是已经加上stdcall了麽?难道VS.NET有独特的调用方式?至于string类型只要强制转换成pchar就行
      

  9.   

    TBackupFile控件的源程序不全,缺少HemiBtn.pas