DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: cuiqingbo
今日帖子: 25
在线用户: 17
导航: 论坛 -> DELPHI技术 斑竹:liumazi,sephil  
作者:
男 hbug (hbug) ★☆☆☆☆ -
普通会员
2017/8/17 12:27:24
标题:
fastreport集成dll打印在win8 win10出现operation not supported on selected printer错误! 浏览:2324
加入我的收藏
楼主: 原来旧系统,把fastreport打成集成dll调用,在win8以前系统都是可以正常使用的。
在win8及win10下打印出现operation not supported on selected printer错误!,有遇到过此问题的朋友吗?有没有解决过此问题的朋友,直接exe程序打印是没问题的。
----------------------------------------------
专业提供人力资源软件、指纹考勤软件、POS进销存软件、酒店餐饮软件
http://www.winsoftcn.com
作者:
男 hbug (hbug) ★☆☆☆☆ -
普通会员
2017/8/17 12:28:01
1楼: 对了,fastreport的版本是2.52的。比较老。
----------------------------------------------
专业提供人力资源软件、指纹考勤软件、POS进销存软件、酒店餐饮软件
http://www.winsoftcn.com
作者:
男 dt1986 (霹雳猪) ★☆☆☆☆ -
普通会员
2017/11/28 10:29:13
2楼: 楼主你好,我也碰到过这问题还没解决,我是Win10系统,请问你解决了吗?
----------------------------------------------
-
作者:
男 hbug (hbug) ★☆☆☆☆ -
普通会员
2017/11/29 10:27:23
3楼: to 2楼,我也没有解决,重新写了非dll的形式了。
----------------------------------------------
专业提供人力资源软件、指纹考勤软件、POS进销存软件、酒店餐饮软件
http://www.winsoftcn.com
作者:
男 he_19_79 (he) ▲▲▲▲▲ -
普通会员
2017/11/29 10:58:42
4楼: 是不是因为fastreport 2.X版本的,在保存报表时,会把当前设计时的打印机选择中? 你在设计报表保存前,把这个打印机选择成虚拟的应该没问题。这涉及到硬件相关,微软一直提倡硬件无关,但报表因为纸张类型等,同打印机有关了。

直接打印没问题,是因为打印前已经选择了打印机。

没试过,不知能否可行。
----------------------------------------------
-
作者:
男 hbug (hbug) ★☆☆☆☆ -
普通会员
2021/1/21 16:05:11
5楼: 解决办法:打印前调用!

 procedure InitPrinterForWin10;
    var aDevice, aDriver, aPort: PAnsiChar;
        aDeviceMode: THandle;
      //!! ENotPrinter: Exception;  不知为什么,在退出WIN10时出错,XP没有问题 
    begin
      try
        aDevice := StrAlloc(255);
        aDriver := StrAlloc(255);
        aPort   := StrAlloc(255);
        Printer.GetPrinter(aDevice, aDriver, aPort, aDeviceMode);
     //!!     if aDeviceMode = 0 then raise ENotPrinter.Create('无法加载打印机驱动程序。!')
        finally
          Printer.SetPrinter(aDevice, aDriver, aPort, 0);
          StrDispose(aDevice);
          StrDispose(aDriver);
          StrDispose(aPort);
      end; // try
    end;   // initPrinterForWin10;
----------------------------------------------
专业提供人力资源软件、指纹考勤软件、POS进销存软件、酒店餐饮软件
http://www.winsoftcn.com
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行70.3125毫秒 RSS