用doevents了吗,如用了,估计也不会有什么好办法了,这是VB本身的问题

解决方案 »

  1.   

    ?用VB6.0生成打印作业??怎么处理的?这是关键。
    ?打印机工作时(实际打印)??服务器同时跑程序、数据库服务和WinPool?
    ?会出错(应该是连接超时)??到底是什么错?
    ?服务器内存已有256M,较高配置??很低,还有,检查一下PageFile.sys大小
      

  2.   

    看来有些大虾还未能明白我所提出的问题:
       那就是: 当你用VB6.0 生成打印作业(printer.enddoc结束,不过未使用多线程)以后,如果操作系统是WIN 2K SERVER ,只要你将打印机联机(打印),此时打开WIN 2K 的“系统资源监测器”,你会发现CPU的占用已达100%,而且会一直持续到打印完成为止。当然,“脱机打印”不会出现这种情况。实际上就是一句话:打开打印机,CPU就占用100%;关上打印机,就不会存在此情况。
        接下来令人头疼的是:
             就在CPU占用显示为100%的打印期间,你会发现ORACLE8数据库已不能访问,你若要访问,会报“连接超时”。你只能耐心地等啊等,等啊等,等到打印机停下来,不再听到打印机工作的响声时,你终于能访问数据库了。
        各位大虾:
             是不是多线程就能了难?如果是,谁能给我发个多线程打印程序,奖他50分!!
       playyuer:你是亚洲第一MVP,请你帮忙。下次出差一定到杂志社请大家吃饭!
      

  3.   

    “实际上就是一句话:打开打印机,CPU就占用100%;关上打印机,就不会存在此情况。”
    那你用其他程序打印的时候,比如Word有这样的问题么
      

  4.   

    我有一个多线程的类,win98下调试成功,2k没试过,如果你想要,e-mail to :[email protected]
      

  5.   

    你可以修改一下printer.enddoc之前的语句,最好在之间插入doevents,如果不行,可以导出后使用word等打印,应该不会出这个问题。
      

  6.   

    当然在WORD和EXCEL下没有此情况了。各位兄弟姐妹:有好程序请发E-MAIL 到  [email protected] (before 2002/05/21)