我在线程中创建ADOConnection,程序可以正常运行,但只要在本程序内任何文本框内切换到中文输入法时,程序就会死掉。请问是怎么回事?

解决方案 »

  1.   

    好像与ADOConnection或组件无关。
    另外,在线程中调用ADO组件前是否有:  //***********初始化组件 非常关键**********//
      CoInitialize(nil);看一下这些文本框的ImeMode属性,应该是imDontCare。
      

  2.   

    CoInitialize(nil)已经调用了。我测试了以下几个情况:
    1、从中文输入法切换回英文没有问题!
    2、ADOConnection如果是只创建一次,在对象析构的时候销毁,这样切换中文输入法时程序就会死掉。
    3、ADOConnection改为每次创建,用完即销毁,这样程序运行正常。
    4、其他TADOQuery,TADODataSet不存在此问题。
    我查了网上其他人好像也遇到了,引用个链接:http://samool.com/delphibbs/296/2964150.htm
    真不知道怎么回事,请大家帮看看!
      

  3.   

    个人认为线程中创建adoconnection无关,是不是有其他的原因