社区
Delphi
帖子详情
关于函数指针
xthmpro_cn
2004-10-22 12:44:45
我将一个类函数扶植给两个控件的OnKeyDown事件,我在代码中如何比较这两个控件使用的是OnKeyDown是同一个函数?
谢谢!
...全文
172
7
打赏
收藏
关于函数指针
我将一个类函数扶植给两个控件的OnKeyDown事件,我在代码中如何比较这两个控件使用的是OnKeyDown是同一个函数? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hottey
2004-10-22
打赏
举报
回复
函数地址是一样的啊!
快乐老猫
2004-10-22
打赏
举报
回复
直接用=就可以
Bitter_fish
2004-10-22
打赏
举报
回复
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class( TForm )
Button1: TButton;
Button2: TButton;
B_Check: TButton;
procedure B_CheckClick( Sender: TObject );
procedure FormCreate( Sender: TObject );
private
P_OnKeyDown1, P_OnKeyDown2: Pointer;
procedure KE1( Sender: TObject; var Key: Word; Shift: TShiftState );
procedure KE2( Sender: TObject; var Key: Word; Shift: TShiftState );
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate( Sender: TObject );
begin
Form1.Button1.OnKeyDown := KE1;
Form1.Button2.OnKeyDown := KE2;
//改为 Form1.Button2.OnKeyDown := KE1; 试一下
end;
procedure TForm1.B_CheckClick( Sender: TObject );
begin
P_OnKeyDown1 := @Form1.Button1.OnKeyDown; //检察是否同一例程
P_OnKeyDown2 := @Form1.Button2.OnKeyDown;
ShowMessage( inttostr( integer( P_OnKeyDown1 ) ) );
ShowMessage( inttostr( integer( P_OnKeyDown2 ) ) );
if P_OnKeyDown1 = P_OnKeyDown2 then
ShowMessage( 'YES' )
else
ShowMessage( 'NO' );
end;
procedure TForm1.KE1( Sender: TObject; var Key: Word; Shift: TShiftState );
begin
ShowMessage( 'This is KE1' );
end;
procedure TForm1.KE2( Sender: TObject; var Key: Word; Shift: TShiftState );
begin
ShowMessage( 'This is KE2' );
end;
end.
ghchen
2004-10-22
打赏
举报
回复
可以在函数里修改变量
xthmpro_cn
2004-10-22
打赏
举报
回复
看Sender是不行的,我不是在函数内比较,而是在函数外比较后,如果不等于某个函数,重新赋值.
请大家帮忙
tsst
2004-10-22
打赏
举报
回复
看sender
xthmpro_cn
2004-10-22
打赏
举报
回复
呵呵给分了!
函数指针
和
函数指针
数组
函数指针
:指向函数的指针。
函数指针
数组:一个数组里面存的类型是
函数指针
。 一、
函数指针
的声明和调用 1.指针声明:
函数指针
顾名思义就是一个指向函数的指针。 int Add(int x,int y) { return x+y; } char* Sub(char*) { } //声明
函数指针
并初始化 int (*Add)(int ,int ) ptr=&Add; char* (*Sub)(char*) prt_char=⋐ 这里声明了两个
函数指针
.
详解C语言指针函数、
函数指针
、
函数指针
数组
在C语言中,指针是一个很重要但是又很容易弄错的概念,也可以说指针就是C语言的灵魂,所以说学好指针对于完全掌握C语言是一个必须的过程。而在指针中,指针函数、
函数指针
、指针函数数组、
函数指针
数组、指向
函数指针
数组的指针等等概念看着又绕又头疼。本问总结了一下以上一些概念以及用法,并给出例程深化理解。 1. 指针函数 指针函数就是返回指针值的函数,本质是一个函数。所以指针函数等价于“返回值为指针的函数...
掌握指针进阶:一篇带你玩转
函数指针
、
函数指针
数组及指向
函数指针
数组的指针!!
数组是一个存放相同类型数据的存储空间,那我们已经学习了指针数组//数组的每个元素是int*那要把函数的地址存到一个数组中,那这个数组就叫
函数指针
数组,那
函数指针
的数组如何定义呢?答案是:parr1parr1先和[]结合,说明parr1是数组,数组的内容是什么呢?是int (*)()类型的
函数指针
。转移表总之,
函数指针
数组实际上是一个数组,其元素都是指向函数的指针。这使得我们可以将不同的函数存储在数组中,并通过索引来调用特定的函数。
详解
函数指针
和类成员
函数指针
作者:倾夜·陨灭星尘 一.什么是
函数指针
?
函数指针
,顾名思义即指向函数的指针。 如果要问,为什么能用一个指针指向一个函数呢?我觉得要理解这个问题,以及要理解后面的
函数指针
和类成员
函数指针
,没有什么比从计算机原理的角度来理解更容易了。这里就简要回顾一下相关知识。 众所周知,计算机(图灵机)执行程序的基本流程就是:取指令->执行指令->取下一条指令->……。取指令的位置由一个寄存器PC决定。
函数指针
、
函数指针
数组,
函数指针
数组的指针
数组指针 概念:数组指针是指针,只要是指针他就占4个字节; 例如: 整形指针:int *p;能够指向整形数据的指针 浮点型指针:float *p;能够指向浮点型的数据的指针 那么数组指针,同样的理解就是指向数组的指针。 Eg: int (*p)[10] 解释:这里的p由于小括号的原因和*先结合,所以他就是指针,然后指向的是一个大小为10的整形数组,所以p首先是一个指针,然后指向
Delphi
5,943
社区成员
262,942
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章