社区
VCL组件使用和开发
帖子详情
关于MEMO的问题,帮我看看,谢谢了。
wg961423
2003-04-19 09:29:16
我写了一个网上对话的程序,用MEMO来显示收到的信息,
收到后应为:
UserName1
Message1
UserName2
Message2
........
但由于是用多线程来收信息的(INDY),当多人向你发信息时有时会变成:
UserName1
UserName2
Message1
Message2
........
这该如何解决?
在这里我先谢了。
如果你不会,请帮我UP,谢了先。
...全文
32
20
打赏
收藏
关于MEMO的问题,帮我看看,谢谢了。
我写了一个网上对话的程序,用MEMO来显示收到的信息, 收到后应为: UserName1 Message1 UserName2 Message2 ........ 但由于是用多线程来收信息的(INDY),当多人向你发信息时有时会变成: UserName1 UserName2 Message1 Message2 ........ 这该如何解决? 在这里我先谢了。 如果你不会,请帮我UP,谢了先。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
20 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wg961423
2003-04-29
打赏
举报
回复
up
xabcxyz
2003-04-26
打赏
举报
回复
用临界区 同步事件
nightfallrove
2003-04-25
打赏
举报
回复
<<WIN32多线程程序设计>>
用关键段能实现吗?
gyj_china
2003-04-25
打赏
举报
回复
up
TopCat
2003-04-23
打赏
举报
回复
不太方便,因为中间有不少业务相关的东西夹杂在里面,而且代码很多,不太好分离(以前做的,很乱了已经)。
真的不好意思。
wg961423
2003-04-23
打赏
举报
回复
能把你的这部分代码共享吗?
TopCat
2003-04-23
打赏
举报
回复
例程没有,但是我可以告诉你我自己在做的软件里就是这样处理的。
我认为这个实现应该不是太难的。
wg961423
2003-04-23
打赏
举报
回复
TopCat(令狐虫) :
你说的比较容易,有没有例程?
TopCat
2003-04-21
打赏
举报
回复
而且一定不会丢数据,只要你的队列做得好(一般要求能自动扩展大小)。
TopCat
2003-04-21
打赏
举报
回复
你可以这么解决:
定义一个缓冲队列类,在类中自己做好线程同步的工作,然后将你接受到的数据直接扔到这个队列中,另外用一个单独的显示线程,负责从缓冲队列区中取数据放到Memo中,这样就一定不会乱了。
wg961423
2003-04-21
打赏
举报
回复
to shadowstar(天作棋盘星作子,谁人敢下?)
每个线程得到的UserName、Message都不一样,Synchronize又不给带参数,怎么解决?
to qiuafa()
用你的方法,yourCriticalSection->Enter()后,其它线程会不会丢矢数据,或接收不到数据?
s98231106
2003-04-19
打赏
举报
回复
没错,就这样。
yuanreid
2003-04-19
打赏
举报
回复
同意 qiuafa() 。使用关键代码段可以避免多线程同时写入
chifengwatch
2003-04-19
打赏
举报
回复
同意楼上的说法
shadowstar
2003-04-19
打赏
举报
回复
void __fastcall TMyThread::AddUserMessage(void)
{
Memo1->Lines->Add(UserName);
Memo1->Lines->Add(Message);
}
Synchronize(AddUserMessage);
hellobcb
2003-04-19
打赏
举报
回复
把username作为message的一部分,收到以后再处理,就可以避免了吧!
qiuafa
2003-04-19
打赏
举报
回复
OnAddMessage(...) // 处理线程发来的添加消息的函数。
{
//
}
方法2.
添加消息用TCriticalSection锁住
//原子操作
yourCriticalSection->Enter();
Memo1->Add(UserName1);
Memo1->Add(UserName2);
yourCriticalSection->Leave();
aivinok
2003-04-19
打赏
举报
回复
我也是正在写这个东西.
做好可以发给我代码看看吗?
互相学习...
huangweiling@163.com
penu
2003-04-19
打赏
举报
回复
同一时间只允许一个线程写入memo。
wg961423
2003-04-19
打赏
举报
回复
to hellobcb(问问) :你的方法不行,我试过了。
FastReport2.53 完美汉化补丁
FastReport2.53官方汉化得不好,这是我改进之后的。安装方法:1. 备份你的FR253Source目录.2. 解压缩覆盖到Source目录中.3. 在D7中选Component|Install Packages... , 再选择FastReport 2.53, 按Remove按钮, 再按OK.4. 重新打开fr7.dpk,编译,安装。
看看
效果吧.主要更改:1.窗体的字体改为Tahoma,8;
Memo
的字体改为Fixedsys,122.美化打印预览窗口图标.3.修改翻译中的错误和不合理的地方, 增加汉化了一些未汉化到的文本.这是我第一次上传东西,
谢谢
大家支持,呵呵~~
iOSInterviewquestions:interview:laptop::woman_technologist_light_skin_tone:iOS面试
问题
摘要
iOS面试
问题
我们正在为iOS开发人员组织必要的材料。 面试或学习内容中收到的
问题
任何时候您需要编辑或添加某些内容时,请执行PR! 답이 적혀있지 않은 이유는 해당 내용을 암기식으로 외우기 보다 찾아보고 공부하면서 습득 하시는게 좋기때문입니다. 해당내용을 찾아보면서 관련된 내용들 까지 같이 공부하시면서 해당 내용을 본인의 것으로 얻으시기 바랍니다. 让我们汇集所有人的力量 :female_sign::female_sign: :male_sign::male_sign:
谢谢
:) 必需的 建议尽可能研究以下内容。 :
memo
: 如果面试期是在wwdc之后(7月至11月),那么看那年的wwdc会议是非常非常好的。 的iOS 解释边界和框架之间的区别。 如果您没有真正的设备,请说明在开发环境中可以做什么和不能做什么。 应用程序在前台和后台时有哪些限制? 解释App Delegate方法以根据状态变化来处理不同的动作。 向现场代表解释。
wbpck-bundler:一点玩具Javascript模块捆绑器:wrapped_gift:
玩具模块捆绑器,有点像webpack,但是缺少许多功能 :red_heart: 模块捆绑器是一种工具,可将您的所有代码以及所有代码依赖性以及所有依赖性(依此类推)放入单个独立文件中,通常可以在浏览器中运行。 在此仓库中,我将(尝试)构建一个用于学习目的的小玩具模块捆绑器 :
memo
: 编码 您应该看一下。 大约只有60行代码,但是有很多(我的意思是很多)注释解释了每个部分 因此,请。 。 用法 如果要测试其工作方式,代码将导出您在完整路径中传递给入口点的函数,它将返回捆绑包。 const bundle = require ( './index' ) const entry = __dirname + '/entry.js' console . log ( bundle ( entry ) )
谢谢
非常感谢Luciano Mammino的演讲,他在7月的DublinJS见面会上解散,这给了我编写此书所需的一切
FastReport3.18使用心得(已更新动态创建
Memo
)
似乎DFW们都不是很关心控件的新版本使用和老版本的区别,在BBS里基本看到的都是FR2.5版本的使用经验,实在是有点郁闷。干脆这第一个笔记就拿来列举经常用的FR3.18的经验吧。。。补充的话:看来有不少人来看偶的笔记。希望各位能不只是看,最好能把自己的经验心得也发布在对这笔记的评论中。也许我的做法或者学习的方法不入高手的法眼,但我相信本着“积土成山”的执着,这份资料将会越来越完善。。。引用以前说过...
React
Memo
和 React use
Memo
和 useCallback的简单用法
React
VCL组件使用和开发
604
社区成员
13,459
社区内容
发帖
与我相关
我的任务
VCL组件使用和开发
C++ Builder VCL组件使用和开发
复制链接
扫一扫
分享
社区描述
C++ Builder VCL组件使用和开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章