解决方案 »
- 终于知道阿泰为什么放分了
- 如何正确使用TClientDataSet TDataSetProvider
- ADOQuery不能frist的问题。
- 我在Delphi中怎么复制不到图像
- 如何做一个象防火墙一样,系统启动,它就启动,但它的窗体不打开?
- 如何使:键盘上 向左右的两个光标键无效?
- 怎样得到某个类的function的入口地址???---我想用类里面的一个函数来做HookCallBackProc。。。。
- 一个奇怪的问题:(PageControl)
- 请教在DBGrid里面编写ondbclick事件的问题!
- 高分求源码+问题
- 在一个ADO中同时执行多句更新,插入语句,参数不能重复使用?
- round函数要求有2到3个参数
begin
try
CoInitialize(nil);//你应该是漏掉了这个
FQuery.SQL.Text := form1.Memo1.Text;
......
ShowMessage('Query Error'); { 线程异常 }
//end; }
except
FQuery.Free;
end;你把这个地方的Except去掉 看看会不会报错 感觉可能except引发异常后那个FQuery被free掉了
if Q2.Suspended then Q2.Resume else Q2.Suspend;楼主以为。。Suspended 在resume线程执行完成后仍然是True????
实际上是False所以resume完了后。。等线程结束了。。你仍然要继续resume而不是suspend。。
看来你的基础有问题。。suspend是挂起正在执行的线程不是终止或结束线程
你这里是处理线程挂起。。不是你想要的重启线程。。所以报错
while true do
begin
...
if terminated then
break
else
suspend;
end;调用的时候,直接唤醒resume即可,有时suspended判定不准确的
suspend;循环与否没所谓