社区
Delphi
帖子详情
关于函数指针
xthmpro_cn
2004-10-22 12:44:45
我将一个类函数扶植给两个控件的OnKeyDown事件,我在代码中如何比较这两个控件使用的是OnKeyDown是同一个函数?
谢谢!
...全文
143
7
打赏
收藏
关于函数指针
我将一个类函数扶植给两个控件的OnKeyDown事件,我在代码中如何比较这两个控件使用的是OnKeyDown是同一个函数? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
呵呵给分了!
让你不再害怕指针
此外,指针还可以指向函数,创建
函数指针
,实现函数回调或
函数指针
数组等高级特性。 7. const限定符与指针 const关键字可以用于指针,表示指针不可变(const int *ptr)或指针所指向的内容不可变(int *const ptr)...
C/C++ 指针的13份资料
7. **
函数指针
**:
函数指针
可以指向一个函数,使得可以作为参数传递或存储在数据结构中。例如,`void (*func_ptr)(int)`声明了一个接受整型参数并无返回值的
函数指针
。 8. **动态内存管理**:通过`malloc()`和`...
C/C++指针经典资料大全
- 指针可以作为函数的返回值,例如动态内存分配函数`malloc`就返回一个指针。 - 递归函数中,指针可以用来保存中间状态,优化算法效率。 4. **指针与结构体/类** - 结构体或类的指针可以用来访问其成员,包括...
免费下载:C语言难点分析整理.doc
这部分介绍了
函数指针
和数组指针的高级用法。 ### 38. 右左法则- 复杂指针解析 这部分探讨了复杂的指针声明,并提供了一种易于理解的解析方法。 ### 39. 回车和换行的区别 这部分解释了回车和换行在不同操作系统中...
关于
函数指针
数组与返回数组指针的函数
第一种情况为数组里面是
函数指针
的情况,因为(int (*)(int))是一个强制转换方式, 将里面的a[]这个数组转换成了一个
函数指针
的数组, 并且该函数是一个带一个整型变量,并且返回一个整型的函数. 第二种情况为函数返回的...
Delphi
5,928
社区成员
262,931
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章