主题:[原创]关于无参数过程
baige0228
[专家分:110] 发布于 2006-04-05 13:57:00
高手们,请问无参数过程是怎么声明,怎么定义的,(最好有个例子),因为我要用这个过程去改变一些 全局变量的,应该要注意那些,以免引起对全局变量的误改.
是否应该用带参的过程来修改,来保证安全性.谢谢了,我正急着要用到这个方法,希望那位高手不吝赐教啊~~~~
回复列表 (共6个回复)
沙发
sunriver [专家分:1330] 发布于 2006-04-05 14:22:00
procedure DomToTree;///声明
和有参的声明方法没有多大区别
板凳
baige0228 [专家分:110] 发布于 2006-04-05 19:38:00
谢谢你啊,我后来试了一下,不要procedure DomToTree;///声明
好象也可以,但一本书上的方法
Type
Tprocedure = procedure ;//声名一个无参过程类型
var
proc : Tprocedure;
但在运行时总是 提示他Tprocedure = procedure 出错
还有 在
implementation
var
Form1: TForm1;
myarray1:array of integer;
myarray2:array of integer;
num_x,num_y:integer;
{$R *.dfm}
处定义num_x和num_y的应该是单元全局变量把,但为什么不能直接调用一个无参函数呢?谢谢!
3 楼
baige0228 [专家分:110] 发布于 2006-04-05 19:51:00
type
TForm1 = class(TForm)
Button1: TButton;
procedure DomToTree;
运行时 显示 procedure DomToTree;有错
[Error] Unit1.pas(13): Unsatisfied forward or external declaration: 'TForm1.DomToTree'
您能举一个使用它的小小的例子吗?,麻烦了
4 楼
sunriver [专家分:1330] 发布于 2006-04-06 09:48:00
过程声明完了要有过程的实现部分
procedure DomToTree;///声明
/////这部分你没有当然报错
procedure TForm1.DomToTree;
begin
end;
5 楼
sunriver [专家分:1330] 发布于 2006-04-06 09:52:00
过程也可以不用声明的,你只需要把过程写在你调用该过程的事件的前面就可以了。
6 楼
baige0228 [专家分:110] 发布于 2006-04-06 15:28:00
哦 我理解了 原来你那个DomToTree是一个过程名 我还以为是一个什么特殊的命令啊
呵呵 那和用
procedure proc();///声明
/////这部分你没有当然报错
procedure TForm1.proc();
begin
end;
一样啊,直接不要在()里写东西就行了
不过还是谢谢啊
我来回复