易语言里的 “调用子程序”如何在Delphi里实现?在易的解释:
    调用格式: 〈逻辑型〉 调用子程序 (通用型 子程序指针或子程序地址,[通用型 保留参数],[通用型变量 返回值],[通用型 参数],... ) - 特殊功能支持库->附加
    英文名称:CallFunction
    以stdcall方式(即WINAPI或Pascal)调用指定的子程序(子程序指针,或子程序地址)并取回被调用子程序的返回值,支持任意多个参数,参数支持除字节集之外的其它所有基本数据类型。调用子程序之前,您需要明确地知道它的参数类型和参数个数,以及返回值类型。本命令返回“真”仅表示调用过程中没有出异常情况,并不表示被调用的子程序执行成功。本命令为高级命令。命令参数表中最后一个参数可以被重复添加。
    参数<1>的名称为“子程序指针或子程序地址”,类型为“通用型(all)”。提示:在子程序名称前加“&”即可得到该子程序的“子程序指针”,如“&子程序1”就是“子程序1”的子程序指针;子程序地址可通过本库中的“取子程序地址()”命令获取,“到整数(&子程序1)”返回的也是子程序1的执行地址,也可通过Windows系统API函数“GetProcAddress()”获取,或由外部程序传入。
    参数<2>的名称为“保留参数”,类型为“通用型(all)”,可以被省略。
    参数<3>的名称为“返回值”,类型为“通用型(all)”,可以被省略,提供参数数据时只能提供变量。本参数用于接收子程序被调用后的返回值;如果该子程序没有返回值或不需要接收返回值,请省略本参数。提供本参数时,请务必提供准确的数据类型,否则所得结果可能不正确。
    参数<4>的名称为“参数”,类型为“通用型(all)”,可以被省略。本参数值将作为参数传入被调用子程序。如果相应子程序没有参数,请省略本参数;如果相应子程序有多个参数,请重复提供本参数。请务必提供准确的参数类型和参数个数,否则后果不可预知。

解决方案 »

  1.   

    通过获取一个过程 或 函数的指针,调用这个命令就可以运行其过程 或 函数!
    比如:procedure ceshi;
    begin
      Showmessage('运行')
    end;调用子程序(@ceshi);这样方便以后在DLL中运行EXE程序里的函数了!
      

  2.   

    Delphi里调用子程序直接写子程序名。这是想说易语言如何调用Delphi的子程序吧。
      

  3.   

    不是的,我是这样构思的,EXE把自身子程序的地址指针通过参数传给DLL,DLL直接运行这个地址指针,就是说运行这个子程序
      

  4.   


    不是的,我是这样构思的,EXE把自身子程序的地址指针通过参数传给DLL,DLL直接运行这个地址指针,就是说运行这个子程序
      

  5.   

    不是的,我是这样构思的,EXE把自身子程序的地址指针通过参数传给DLL,DLL直接运行这个地址指针,就是说运行这个子程序
    就是个回调,Delphi可以实现。