阅读:1777回复:6
Acrobat5.0打印的问题
我在98下用Acrobat打印时,第一次点击打印时,会弹出“打印时错误”的对话框,但是如果再点击打印时,就又可以打印了。我跟踪过driver,只是发现两次打印时,第一次在QUERYSUPPORT时多查询了一下128 Escape Number,而我也不知道128表示什么,不知道是不是这个原因造成的。BTW:我在其他应用程序中打印没有这样的问题。
|
|
|
沙发#
发布于:2003-06-02 15:00
就是这个造成得
128是RESETDEVICE 这就是(摘自Win3.1DDK) short Control(lpDevice, RESETDEVICE, lpDeviceOld, NULL) LPPDEVICE lpDevice; LPPDEVICE lpDeviceOld; The RESETDEVICE escape resets the device context by copying information that is specific to the current print job from the original physical device structure to the new one. GDI calls this escape whenever an application calls the ResetDC function (GDI.376). Printer drivers that can reset print-job options (such as orientation and paper source) during a single print job must support the RESETDEVICE escape. Parameter Description lpDevice Points to a PDEVICE structure specifying the new physical device. lpDeviceOld Points to a PDEVICE structure containing the device-specific settings to be copied to the new physical device structure. Returns The return value is TRUE if the function is successful. Otherwise, it is FALSE. Comments The RESETDEVICE escape must copy all information required to continue the current print job to the new physical device structure. This includes information such as the print-job number and record of downloaded resources, but does not include information about the environment (such as orientation and paper source). GDI calls the Enable function to set the environment for the new physical device structure before calling this escape. After the RESETDEVICE escape returns, GDI immediately calls the Disable function with the old physical device structure. RESETDEVICE must ensure that resources copied to the new physical device structure are not deleted on the subsequent call to Disable. For example, if the Disable function frees any working buffers allocated by the driver at the start of a print job, RESETDEVICE must either allocate new buffers for the new physical device structure or remove all pointers to these buffers from the old physical device structure. [编辑 - 6/2/03 by Davyill] |
|
|
板凳#
发布于:2003-06-02 19:18
谢谢,接分 :) :)
|
|
|
地板#
发布于:2003-06-03 11:30
Hi,Davyill!
谢谢你的帮助。确实是RESETDEVICE的问题,我在RESETDEVICE时直接返回了TRUE,Acrobat中的问题是解了,不过却又在WORD中出现了新问题,现在我的WORD不能打印了,不知道你是否知道还应该修改那些问题?再次谢谢你的帮助 |
|
|
地下室#
发布于:2003-06-03 11:39
不可以直接Return TRUE,你看DDK上的描述还有事情要去做,
最好调用UniControl完成这个ESCAPE。 或者 在QUERYESCSUPPORT的ESCAPE时 返回RESETDEVICE为FALSE (不支持RESETDEVICE) [编辑 - 6/3/03 by Davyill] |
|
|
5楼#
发布于:2003-06-04 12:46
谢谢,问题终于解决了 :) :)
|
|
|
6楼#
发布于:2003-06-05 22:08
哦,这么回事啊
学习 |
|