delphi 一个线程和主界面的交互的演示代码
求一个线程和主界面的交互的演示代码
求一个线程和主界面的交互的演示代码。线程和主界面处于两个Unit。线程中的user中不能引用主窗口。我只是想学习一下,线程和主界面交互的方法。去网上查了好几天资料,能查到的都是user中引用主窗口的方法。据说可以通过别的方法实现,求大神指点下了。跪求~~~
------解决方案--------------------
就用DELPHI自带的DEMO。DELPHI 7 中目录如下:
C:\Program Files\Borland\Delphi7\Demos\Threads\thrddemo.dpr
------解决方案--------------------
让我来教你一招吧:
用类似回调函数的方法:
第一:在线程的unit中定义:TCallFunction = procedure of object;
第二:在线程类中定义一个公共变量:FCallMain: TCallFunction;
第三:在主界面unit中定义一个函数:procedure TMain.Test();
第四:假设线程类的实例是ThreadA,让ThreadA.FCallMain=Test;
第五:在线程类就可以直接用 FCallMain了,
FCallMain的功能跟主界面的Test功能是一样的,如果Test函数有操作界面的操作,需要按照下面调用:
synchronize(FCallMain);
明白了吧??
http://www.myexception.cn/delphi/264524.html
delphi 一个线程和主界面的交互的演示代码的更多相关文章
- java 添加一个线程、创建响应的用户界面 。 演示示例代码
javajava 添加一个线程.创建响应的用户界面 . 演示示例代码 来自thinking in java 4 21章 部分的代码 夹21.2.11 thinking in java 4免费下载: ...
- Android子线程更新主界面
学习什么的还是要真正的有应用,有需求才能在最短的时间里面牢牢掌握一项技术. 今天就是这样的,产品一个需求下来,十万火急啊.然后之前只稍稍接触过,只能硬着头皮上了.最后牢牢地掌握了最简单的Handler ...
- InvokeHelper,让跨线程访问/修改主界面控件不再麻烦(转)
http://bbs.csdn.net/topics/390162519 事实上,本文内容很简单且浅显,所以取消前戏,直接开始.. 源代码:在本文最后 这里是一张动画,演示在多线程(无限循环+Thre ...
- Delphi ThreadPool 线程池(Delphi2009以上版本适用)
http://blog.sina.com.cn/s/blog_6250a9df0101kref.html 在网上查找Delphi线程池,结果发现寥寥无几. 看了半天源代码,弄得一头雾水,觉得不容易理解 ...
- .NET一个线程更新另一个线程的UI(两种实现方法及若干简化)
Winform中的控件是绑定到特定的线程的(一般是主线程),这意味着从另一个线程更新主线程的控件不能直接调用该控件的成员. 控件绑定到特定的线程这个概念如下: 为了从另一个线程更新主线程的Window ...
- winform 防止主界面卡死
总结网络上的解决方案:新线程=> 委托=> 主界面的异步更新方法(IAsyncResult BeginInvoke(Delegate method)),一句话就是通过委托调用另一个线程的异 ...
- (NO.00004)iOS实现打砖块游戏(二):实现游戏主界面动画
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 一个内容不错的游戏也要一个好的包装.玩家进入游戏时第一眼看到的是 ...
- BeginInvoke 方法真的是新开一个线程进行异步调用吗?
转自原文BeginInvoke 方法真的是新开一个线程进行异步调用吗? BeginInvoke 方法真的是新开一个线程进行异步调用吗? 参考以下代码: public delegate void tre ...
- 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法(转)
对象的synchronized方法不能进入了,但它的其他非synchronized方法还是可以访问的 对每一个class只有一个thread可以执行synchronized static method ...
随机推荐
- REDIS 字典数据结构
对于REDIS来讲 其实就是一个字典结构,key ---->value 就是一个典型的字典结构 [当然 对于vaule来讲的话,有不同的内存组织结构 这是后话] 试想一个这样的存储场景: ...
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问
消息 15281,级别 16,状态 1,第 2 行SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/Open ...
- 最小生成树——prim算法
prim算法是选取任意一个顶点作为树的一个节点,然后贪心的选取离这棵树最近的点,直到连上所有的点并且不够成环,它的时间复杂度为o(v^2) #include<iostream>#inclu ...
- vs增加第三方依赖库的方法总结
转自http://blog.csdn.net/raodotcong/article/details/8998379 先说说普通的两种方法: 方法1: 通过设置工程配置来添加lib库. 转自网上: A ...
- java中常见的几种Runtimeexception
转自http://blog.csdn.net/qq635785620/article/details/7781026 一般面试中java Exception(runtimeException )是必会 ...
- jquery实现AJAX的4种方法
当我们用javascript写ajax程序写得很“开心”的时候,突然有人告诉你有一种东西叫jquery,它会告诉你不直接和 HttpRequest是多么的快乐,同时你再也不需要再烦恼纠结的ajax乱码 ...
- CentOS7 搭建python3 Django环境
yum install gcc yum install make yum install openssl-devel -y yum install sqlite-devel -y wget https ...
- CE驱动动态加载卸载
加载: #define DEV_KEY TEXT("Drivers\\Builtin\\WCDMA") BOOL CGPRSCTRLDlg::Load() { //DWORD dw ...
- a标签与click的关系
当点击浏览器a标签的时候,浏览器的默认机制如下: 1.触发a的click事件2.读取href属性的值3.如果是URI则跳转4.如果是javascript代码则执行该代码 下面我们一起来做一个实验: 我 ...
- perl回文数解析,比C容易多了
#!/usr/bin/perl -w ; @array = split "", shift @ARGV; ..($#array+1)/2-1]; @array_2 = revers ...