zoukankan      html  css  js  c++  java
  • delphi 程 序从exe运行改成dll库

    第一种方法:

    具体步骤:

    1、生成新的或着打开已经存在的工程文件(DPR)(Project1.dpr)。

    2、选择【View】—>【Project Manager】,选中【ProjectGroup】,然后点击【New】按纽新建一个DLL文件;

    3、保存DLL文件,修改DLL文件的名称(ExeToDLLProject)与工程组的名称(ExeToDLLProjectGroup),保存成功后,会生成了一个DLL工程文件(ExeToDLLProject.dpr)和一个工程组文件(ExeToDLLProjectGroup.bpg),这个工程组由DLL和EXE组成(在【View】->【Project Manager】中看到, 选择【View】—>【Project Manager】,选中EXE工程或DLL工程,然后点击【Active】,可以切换当前工作的工程);

    4、点击工具栏上【Add File To Project】,或者使用快捷键【Shift + F11】,把EXE工程文件中的所有的.pas文件加入到DLL工程中,(如:Unit1.pas)   

    5、当EXE工程设为当前活动的工程,然后在工程文件中,添加代码:

    5、把DLL工程设为当前活动的工程,然后【Project】->【View Source】,打开DLL工程的源代码,在里面添加代码:

    library ExeToDLLProject;

    uses

      SysUtils,

      Classes,

      Forms,

      Controls,

      Unit1 in 'Unit1.pas' {Form1},

    {$R *.res}

    function ShowForm:TModalResult; stdcall;

    var

      Form1: TForm1;

    begin

      Form1 := TForm1.Create(nil);

      Form1.ShowModal;

      FreeAndNil(Form1);

      Result := MrNo;

    end;

    exports

      ShowForm; //定义出口函数

    begin

    end.

    第二种方法:

    1、打开项目文件(.DPR),删除单元底部begin和end.之间的所有语句(一般情况下这些语句是由Delphi自动生成的)。如果项目中没有用到Form,则从uses子句中删除表单单元(Form);

    2、可以在单元底部的begin语句之前加入自己定义的其他函数或者过程,用于输出。添加主窗体的输出函数:  

    function ShowForm:TModalResult; stdcall;

    var

      Form1: TForm1;

    begin

      Form1 := TForm1.Create(nil);

      Form1.ShowModal;

      FreeAndNil(Form1);

      Result := MrNo;

    end; 

    3、在单元底部的begin语句之前加入一个exports小节,然后写出所有想要输出的函数或过程的名字(最好指定索引号)。如 exports ShowForm; //定义出口函数

    4、将项目文件顶部的保留字program改为library。  

    5、完成,可以编译了。   
      

    现在就可以在其他程序中调用本项目中的函数和过程了,只要执行ShowForm就可以执行这个项目,和执行原来的可执行文件一模一样。  

  • 相关阅读:
    gimp 语言设置
    gnome 3.4 评测
    linux 添加PATH路径
    永中office2012 linux版 使用初步感受
    Bio per常规用法(1、读取序列)
    blast程序 介绍 简介
    genewise运行过程中遇到的错误及其解决方法
    gnome3 隐藏标题栏
    Bio per常规用法(2、翻译蛋白)
    genewise 编译过程中遇到的 getline冲突
  • 原文地址:https://www.cnblogs.com/qiu18359243869/p/9466731.html
Copyright © 2011-2022 走看看