社区
Delphi
帖子详情
关于函数指针
xthmpro_cn
2004-10-22 12:44:45
我将一个类函数扶植给两个控件的OnKeyDown事件,我在代码中如何比较这两个控件使用的是OnKeyDown是同一个函数?
谢谢!
...全文
159
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
打赏
举报
回复
呵呵给分了!
让你不再害怕指针
此外,指针还可以指向函数,创建
函数指针
,实现函数回调或
函数指针
数组等高级特性。 7. const限定符与指针 const关键字可以用于指针,表示指针不可变(const int *ptr)或指针所指向的内容不可变(int *const ptr)...
C/C++ 指针的13份资料
7. **
函数指针
**:
函数指针
可以指向一个函数,使得可以作为参数传递或存储在数据结构中。例如,`void (*func_ptr)(int)`声明了一个接受整型参数并无返回值的
函数指针
。 8. **动态内存管理**:通过`malloc()`和`...
免费下载:C语言难点分析整理.doc
这部分介绍了
函数指针
和数组指针的高级用法。 ### 38. 右左法则- 复杂指针解析 这部分探讨了复杂的指针声明,并提供了一种易于理解的解析方法。 ### 39. 回车和换行的区别 这部分解释了回车和换行在不同操作系统中...
腾讯2012笔试题目
关于这个静态全局变量的作用域和生命周期有四个选项。 - **选项分析:** - A: 这个静态全局变量只在定义它的源文件中可见,即作用域仅限于当前文件,这是正确的描述。 - B: 静态全局变量的值可以在整个程序运行...
c++ primer第五版第6章答案
这段代码通过传递指针参数来交换两个整数变量的值,体现了指针在函数参数传递中的应用。 以上就是基于《C++ Primer第五版》第六章答案提炼出的关键知识点及其详细解释。通过这些知识点的学习,可以帮助读者更好地...
Delphi
5,936
社区成员
262,943
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章