您好,请教过程指针应该怎么用 ? 下面的代码编译可以通过但执行有误,谢谢(50分)

哦,谢谢:)

分不多,抱歉
 
多人接受答案了。
 
这个其实

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure proc_method(n:integer); //这个过程是一个方法
end;
TThePas = procedure(n:integer) of object;

var
Form1: TForm1;

implementation

{$R *.DFM}
procedure proc(n:integer) ; //这是一个单独过程
begin
.......
en;d
procedure TForm1.Button1Click(Sender: TObject);
var
p_method: procedure (n:integer) of object // 因为 proc_method 是一个方法 所有只能这样定义, 否则编译不过.
p_procedure:procdure (n:integer) ; //因为proc 是一个过程. 这样定义就可以了
begin
// 以下是两种用法
p_method:=proc_method; // 这是方法
@p_procedure:=@proc //这是过程
end;

end;

procedure TForm1.Tt(n: integer);
begin
showmessage(inttostr(n));
end;
 
顶部