zoukankan      html  css  js  c++  java
  • Delphi中使用@取函数地址的问题

    例如以下代码:
    unit Unit1;
    interface
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs;
    type
      TForm1 = class(TForm)
        procedure one();
        function two(x,y:integer):integer;
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    var
      Form1: TForm1;
    implementation
    {$R *.dfm}
    procedure TForm1.one();
    var
      p : pointer;
    begin
      p:=@two;
    end;
    function TForm1.two(x,y:integer):integer;
    begin
      Result:=x+y;
    end;
    end.


    在Delphi5中,没有任何问题,到了delphi7、2007、2009中就会报错:需要变量(Delphi6没试)
    原因是新版本中要求返回函数地址的函数必须是全局函数,所以程序要改成这样:
    ................................
    var
      Form1: TForm1;
      function two(x,y:integer):integer;
    ................................
    function two(x,y:integer):integer; ......

     

     

     

  • 相关阅读:
    如何在delphi里面控制Edit只能输入数字
    ShellExecute函数
    GetSystemMenu 获取系统菜单
    StringReplace 函数
    delphi 字符串查找
    Pos 函数
    Copy 函数
    css笔记
    HTML5笔记
    node.js nodejs supvisor模块
  • 原文地址:https://www.cnblogs.com/huhu0013/p/1768287.html
Copyright © 2011-2022 走看看