社区
C++ Builder
帖子详情
精通BCB者请进,自定义类之间如何传递消息?
flyfeel
2003-08-20 12:46:47
自己编写了若干通信类,如何实现通信类之间消息传递?
1.不要使用Windows消息机制,因为消息有时候可能丢失,而且要绑定到窗体上才能接收消息
2.自定义的类运行时会有多个实例,消息最终传递给类的成员函数,类的成员函数是没有接口指针的,接口应为类指针+偏移地址
3.曾考虑采用回调函数实现,可回调函数一般为全局或静态的
...全文
154
7
打赏
收藏
精通BCB者请进,自定义类之间如何传递消息?
自己编写了若干通信类,如何实现通信类之间消息传递? 1.不要使用Windows消息机制,因为消息有时候可能丢失,而且要绑定到窗体上才能接收消息 2.自定义的类运行时会有多个实例,消息最终传递给类的成员函数,类的成员函数是没有接口指针的,接口应为类指针+偏移地址 3.曾考虑采用回调函数实现,可回调函数一般为全局或静态的
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wuriver
2003-08-20
打赏
举报
回复
怎么可能会绕过windows消息机制呢,呵呵。
dragonhux
2003-08-20
打赏
举报
回复
perform
好像是可以绕过Windows的消息机制,
使用BCB自己的消息机制,
简单点就是不需要送到消息缓冲区的!
zcchm
2003-08-20
打赏
举报
回复
to 楼上,楼上的楼上:
C++里面,调用类对象的成员函数,被看作是向这个对象发消息,此消息不同与windows的消息。函数名即消息名,函数参数即消息参数。
xizhouhawk
2003-08-20
打赏
举报
回复
消息的传递除了一:windows或应用程序的消息栈
二:直接发送到窗口。
是不是还有直接发送到其他某种(不包括窗口)类对象这中机制啊,我是菜鸟,如果楼主知道的话,烦请解释一下。
windlyzhang
2003-08-20
打赏
举报
回复
不太明白,你不使用Windows消息机制,怎么对对象传递消息啊?
你用的平台是windows吗?
学习!
Siney
2003-08-20
打赏
举报
回复
2.自定义的类运行时会有多个实例,消息最终传递给类的成员函数,类的成员函数是没有接口指针的,接口应为类指针+偏移地址
你可以设计一个公开的方法,类似于WndProc这样的,另一个类需要传递消息的时候,可以直接调用这个函数。
void WndProc(int msg,DWORD WPARAM,LPARAM);
3.曾考虑采用回调函数实现,可回调函数一般为全局或静态的
回调函数在bcb里可以不用是全局或静态的,他可以是在类的内部,这其实就是像自定义事件一样的机制。
-----------------------------
其实看你的通讯类如何设计,如果他们都继承自一个基类,而这个基类留出一个虚接口,那么所有的类都可以通过这个虚接口通讯了。
zcchm
2003-08-20
打赏
举报
回复
不太明白
你是在类之间通讯,还是在对象之间通讯?
如果是在类之间,回调函数应该可以呀。
Makefile详解——从入门到
精通
转自ChinaUnix,作者gunguymadman,陈皓。链接地址:http://www.chinaunix.net/jh/23/408225.html 陈皓 CSDN 博客:http://blog.csdn.net/haoel/article/details/2886 http://blog.csdn.net/ruglcc/article/deta...
ExMobi®从入门到
精通
ExMobi®从入门到
精通
本书电子版和示例代码
请
访问GIT仓库: https://github.com/nandy007/ExMobiBeginnerBook ExMobi门户:http://www.exmobi.cn ExMobi论坛:http://bbs.exmobi.cn 支撑电话:400-110-1111 025-6677-7333
精通
Git 第二版(三)
本章展示了如何有效地将两条开发线路合并在一起,结合它们自分歧以来所收集的提交记录。首先,我们了解了几种合并更改的方法——合并、挑选提交和变基。本部分重点解释了这些功能如何在更高层次上工作——即修订的有向无环图(DAG)层面。您了解了合并和变基如何工作,以及它们
之间
的区别。还展示了一些更有趣的变基用法,例如将一个主题分支从一个长期存在的分支移植到另一个分支。然后,您了解了如果 Git 无法自动合并更改时该怎么办——即在存在合并冲突的情况下可以采取什么措施。
精通
Gitlab12(一)
理解 GitLab 项目的背景有助于我们理解在 GitLab 工作流设计中所做的选择。GitLab 项目最初是一个小型的开源项目,后来发展成了一个拥有 400 人和数千名志愿者的组织。当前,它有两个版本:一个是免费的社区版CE),另一个是带有专有许可证的企业版EE企业版提供多个支持层级。虽然它是专有许可证,但该版本的源代码是公开的,可以从 GitLab 获取。要掌握 GitLab,必须对其各个组件有扎实的了解。在本章中,我们将探讨 GitLab 安装的基本组件,特别关注 GitLab持续集成CI。
TowardsDataScience 博客中文翻译 2020(四百七十四)
在这个解决方案中,需要一个映射数据帧来表示
自定义
排序,然后根据映射创建一个新列,最后我们可以根据新列对数据
进
行排序。让我们借助一个例子来看看这是如何工作的。首先,让我们创建一个映射数据帧来表示
自定义
排序。用于
自定义
排序的映射数据框架之后,使用来自的映射值创建一个新列size_num。最后,按新列size_num对值
进
行排序。使用排序映射数据框架
进
行
自定义
排序这当然有助于我们的工作。但是它创建了一个备用列,在处理大型数据集时效率可能会降低。我们可以使用更有效地解决这个问题。
C++ Builder
13,870
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章