关于线程编程中资源访问的问题???急
hq007 2007-06-09 10:11:07 用Delphi6写了很简单的线程程序,有两个单元unit1(主程序单元),ThreadUnit(线程单元) ,两个单元都相互 uses 了对方。然后我在unit1中添加了一个ADOConnection和一个ADOQuery组件,经过测试,如果在unit单元中调用adoquery是没有问题的,也就是说 adoquery.open 可以返回数据集。
但是我在ThreadUnit的Execute方法中调用了unit1中的adoquery组件,代码是这样的:
......
with mainform do //mainform 是unit1单元的窗体
begin
adoquery.close;
adoquery.sql.text:='select No from StdList';
try
adoquery.open;
except
listbox1.items.add('Open DataSet Error!');
end;
end
.....
经过跟踪发现adoquery在ThreadUnit但是打开是失败的,请问各位大哥大姐这是什么原因啊,想了很久都没想通!请大家帮一下忙,谢谢了!