没有必要封装DLL。
1、查询数据时,开启一个线程执行查询数据。
2、开启查询线程同时,DoModal一个等待的窗体A,在窗体A上可以放置进度条等等。
3、查询线程执行完毕之后,向A窗体或是主窗体PostMessage一个自定义消息,告诉A或是主窗体查询已经执行完毕。

解决方案 »

  1.   

    要用线程,和用不用DLL没什么关系,如果不用多线程用DLL一样会卡。
      

  2.   

    调用dll,和调用用函数是一样的概念,都一样会等待其返回。
      

  3.   

    http://bbs.csdn.net/topics/390820170  可以看看这个DLL和窗体交互 就能完成你的需要
      

  4.   

    1.dll是否可以解决查询大数据时的动画问题(将动画或进度条封装到dll)
    答:不可以。应为dll也是在同一进程内,执行大数据查询时,动画会卡死。
    2.如何由主程序向dll传递变量值(传递进度信息给dll,dll实现进度条)
    答:可通过发消息(使用消息参数传递进度值)、调用dll函数来传给dll值的方式与dll交互。但你根本无法取得查询的真实进度。
      

  5.   

    用线程执行查询数据
    xe2后的很方便create thread