Midas客户端中使用多线程出错的解决
看到有人在问这个问题,所以贴出来,以前我也碰到了该问题,整了好久才找到解决方法。
--------------------------------------------------------------
今天遇到个问题,在一个thread里创建的ClientDataset总是在Open的时候死掉,也不抛出任何异常,就那么一直不返回。早知道midas不是线程安全的,特地到线程中才创建ClientDataSet和它的RemoteServer,想不到这样也不行啊。不能用在线程里这可就麻烦了,唉!
--------------------------------------------------------------
多层数据库系统中,客户端中不能把取远程数据的控件如Table、Query、ClientDataset的Active设置为True或False或Open...
原因是出在SocketConnect连接组件上,
解决方法:在线程中自动创建一个Socket连接组件,再把数据集组件指到该新的Socket连接组件(最好是在子线程中也新建数据集组件)。线程结果时再释放。