一个application中有一个form,
一个class中FHandle := AllocateHWnd(WndProc);
SetParent(FHandle, Application.Handle);
应该是不可见的相当于form的东西吧,
一个线程疑问:
1、线程调用form的public方法(只有内存操作与界面无关的)应该不会经过form的WndProc吧?
不会产生form的message?换个说法,如果这个public方法如果是个死循环,
此时界面应该是响应的,是不是可以这样理解?2、线程对不可见的那个FHandle发消息,会不会被application获取。3、FHandle自己产生的sleep会被会让那个可见form不响应?它们都属于主线程,之间有没有影响才接触windows消息,有高人给我解释一下吗?
我新注册的,也没什么发言,没有分啊
一个class中FHandle := AllocateHWnd(WndProc);
SetParent(FHandle, Application.Handle);
应该是不可见的相当于form的东西吧,
一个线程疑问:
1、线程调用form的public方法(只有内存操作与界面无关的)应该不会经过form的WndProc吧?
不会产生form的message?换个说法,如果这个public方法如果是个死循环,
此时界面应该是响应的,是不是可以这样理解?2、线程对不可见的那个FHandle发消息,会不会被application获取。3、FHandle自己产生的sleep会被会让那个可见form不响应?它们都属于主线程,之间有没有影响才接触windows消息,有高人给我解释一下吗?
我新注册的,也没什么发言,没有分啊
解决方案 »
- 关于CLIENTSOCKET通信的问题,高手请进
- 一个串口通讯的问题,求解
- 请问PeekMessage(Msg, 0, 0, 0, PM_NOREMOVE)及KillMessage(Windows.HWND_DESKTOP, Msg.Message)是什么意思?
- 关于ListView显示速度问题
- 各位高手请看看这是啥问题?
- 免费自助建站
- delete()问题
- 急求报表源程序,给分!!!
- 请教高数关于delphi程序通过RAS或Citrix远程使用无法打开打印机的问题,急等!!!!!
- 分数多多的问题
- 大家请帮帮忙,如何将十六进制的字符串转化成十六进制的值
- 有偿寻复杂报表解决方案!请加我的QQ。待遇面淡
不会产生form的message?换个说法,如果这个public方法如果是个死循环,
此时界面应该是响应的,是不是可以这样理解?对,你线程操作Form的Publice方法不会影响Form的界面刷新2、线程对不可见的那个FHandle发消息,会不会被application获取。这个要看怎么发的,用SendMessage是直接发给FHandle,不会经过Application,如果是PostMessage就会经过Application,另外你用SendMessage发消息给Handle,此时这个线程就会挂起,主线程运行,如果你这个方法处理很长时间,会挂死界面的。3、FHandle自己产生的sleep会被会让那个可见form不响应?它们都属于主线程,之间有没有影响 你在Fhandle中Sleep,就是在主线程中Sleep,这时会让界面假死,是有影响的。