R
redsky.l
Unregistered / Unconfirmed
GUEST, unregistred user!
按大富翁要求提问前先检索了一次,发现就关于Epson打印机不能打印的的问题不下
五篇。多数问题都是不了了之,没看到正解。
正好在做打印程序,手头打印机型号为:
Epson stylus Photo EX2(只有中文版驱程),使用Delphi3、Delphi5,求解。
使用代码1:
procedure TForm1.Button2Click(Sender: TObject);
begin
Printer.begin
Doc;
Printer.Canvas.TextOut(100,160,'hello');
Printer.EndDoc;
end;
使用代码2:
procedure TForm1.Button2Click(Sender: TObject);
begin
Printer.begin
Doc;
Printer.Canvas.TextOut(100,160,'hello');
Printer.EndDoc;
end;
使用代码3:
procedure TForm1.Button3Click(Sender: TObject);
begin
QuickRep1.Print;
end;
——————————————————————————————————
D3结果:都不能打印,出现打印队列,打印队列中无任何内容,或根本无队列;
形同 http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=335779 所提
D5结果:只有代码3能正常打印,其他不能!
————————————————————————
再试:Delphi自带例子:
Qr2demo.dpr(D3、D5都有),都不能打印,
Qr3demo.dpr(只D5带),能打印,且打印机不用设置。而其他情形无论你怎
么调整都是白忙!!!
——————————————————
查资料:(以下内容来自《Delphi3 开发使用手册》作者:Todd Miller David Powell等)
尽管许多打印驱动程序能完成你所期望的操作,但也有一些并不是如此,打印机驱动
程序的制造商并不是总是受到遣责的对象。微软公司的文档和源代码在构造打印驱动程序
时许多地方需要用到,在许多地方上制造商不得不去猜测在特定情况下该怎么去做?
(调用GetPrinter,DevMode设置打印机)并非所有的改变在所有的打印机上都支持。
……解决方法彻底修补TPrinter……(为什么Boland公司不修补???)
另一个获得打印机设备的有关信息的好方法是查询打印机的DeviceCapbilities函数。
在Delphi 1.0和Delphi 3中的Device Capbilities函数均做了正确专声明了。但在
Delphi 2.0中由于微软公司的MSDN知识库和微软公司的Win32帮助文件的混乱文档该函数
声明不正确。
——————————————————————————————
不用再看了,
罪魁祸首:微软:1、未公布原码;2、发布错误信息;
帮凶: 打印机驱动程序的制造商:乱猜测;
随从: Boland:明知有错也不改;
受害者: 我们:到手的M都要飞了!
想微软公布原码,不可能;不犯错误,不可能;找打印机驱动程序制造商,找不到;
想想还好我们的y9y(歪就歪)在Boland就职,特的请教!!希望Boland公司能修正所有
打印机不能打印问题!!
也请各位高手发表自己的看法。你是如何解决Epson(或其他)
打印机不能打印问题!!
五篇。多数问题都是不了了之,没看到正解。
正好在做打印程序,手头打印机型号为:
Epson stylus Photo EX2(只有中文版驱程),使用Delphi3、Delphi5,求解。
使用代码1:
procedure TForm1.Button2Click(Sender: TObject);
begin
Printer.begin
Doc;
Printer.Canvas.TextOut(100,160,'hello');
Printer.EndDoc;
end;
使用代码2:
procedure TForm1.Button2Click(Sender: TObject);
begin
Printer.begin
Doc;
Printer.Canvas.TextOut(100,160,'hello');
Printer.EndDoc;
end;
使用代码3:
procedure TForm1.Button3Click(Sender: TObject);
begin
QuickRep1.Print;
end;
——————————————————————————————————
D3结果:都不能打印,出现打印队列,打印队列中无任何内容,或根本无队列;
形同 http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=335779 所提
D5结果:只有代码3能正常打印,其他不能!
————————————————————————
再试:Delphi自带例子:
Qr2demo.dpr(D3、D5都有),都不能打印,
Qr3demo.dpr(只D5带),能打印,且打印机不用设置。而其他情形无论你怎
么调整都是白忙!!!
——————————————————
查资料:(以下内容来自《Delphi3 开发使用手册》作者:Todd Miller David Powell等)
尽管许多打印驱动程序能完成你所期望的操作,但也有一些并不是如此,打印机驱动
程序的制造商并不是总是受到遣责的对象。微软公司的文档和源代码在构造打印驱动程序
时许多地方需要用到,在许多地方上制造商不得不去猜测在特定情况下该怎么去做?
(调用GetPrinter,DevMode设置打印机)并非所有的改变在所有的打印机上都支持。
……解决方法彻底修补TPrinter……(为什么Boland公司不修补???)
另一个获得打印机设备的有关信息的好方法是查询打印机的DeviceCapbilities函数。
在Delphi 1.0和Delphi 3中的Device Capbilities函数均做了正确专声明了。但在
Delphi 2.0中由于微软公司的MSDN知识库和微软公司的Win32帮助文件的混乱文档该函数
声明不正确。
——————————————————————————————
不用再看了,
罪魁祸首:微软:1、未公布原码;2、发布错误信息;
帮凶: 打印机驱动程序的制造商:乱猜测;
随从: Boland:明知有错也不改;
受害者: 我们:到手的M都要飞了!
想微软公布原码,不可能;不犯错误,不可能;找打印机驱动程序制造商,找不到;
想想还好我们的y9y(歪就歪)在Boland就职,特的请教!!希望Boland公司能修正所有
打印机不能打印问题!!
也请各位高手发表自己的看法。你是如何解决Epson(或其他)
打印机不能打印问题!!