delphi5.5, 系统中有几个需要打印发票的地方,开发环境win2000. 原来系统打印正常,这几天修改了系统的一些功能,但是几个打印的地方没有作任何修改(预览是正确的,在公司没有实际打印测试).
 发给用户替换exe文件,其它功能正常,唯独打印出了问题,极少数用户打印正常,其它均有问题,或者只打印了发票的左边一小部分,或者干脆打印机无反应(打印机及系统的其它设置均没有改变,仅仅替换了可执行文件).怀疑quickreport版本问题,于是将其从3.0版本升级到3.5版本,可是现在在公司的机器上预览就是错误的,感觉肯定不行.
  急盼望各位xdjm指点(客户催的很急).谢谢!

解决方案 »

  1.   

    //打印租卡凭证
      frmZKrep := TfrmZKrep.Create(Self);
      frmZKrep.QRlblKH.Caption := edtKH.Text;                 //卡号
      frmZKrep.QRlblKLX.Caption := edtKLX.Text;               //卡类型
      frmZKrep.QRlblZJLX.Caption := cboZJLX.Text;             //证件类型
    frmZKrep.QRlblZJHM.Caption := edtZJHM.Text;             //证件号码
      frmZKrep.QRlblZKYJ.Caption := edtYJ.Text;               //租卡押金
      frmZKrep.QRlblCZY.Caption := sCZYXM;                    //操作员
    frmZKrep.QRlblWDBH.Caption := sWDBH;                    //网点编号
      frmZKrep.QRlblJYLS.Caption := inttostr(sWDJYLSH);       //交易流水
    frmZKrep.QRlblZKRQ.Caption := datetostr(dlocaldate);    //交易日期
      //预览
      //frmZKrep.QuickRep1.Preview;
      ComboBox1.Clear;  ComboBox1.Items.Assign(Printer.Printers);
      while ComboBox1.Items.CommaText = '' do
      begin
        Messagedlg('你需要安装打印机才能打印!'+#13#10+'请先连接打印机点OK按钮',mtInformation,[mbOk],0);
        Printer.Refresh;
        ComboBox1.Items.Assign(Printer.Printers);
      end;
      //打印
      Printready := true;
      while Printready do
      begin
        try
          frmZKrep.QuickRep1.Print;
          Printready := false;
        except
          Printready := true;
          Application.MessageBox('打印失败,请检查打印机是否连接异常!','提示',mb_ok);
        end;
      end;
    没有你说的问题啊
      

  2.   

    qreport控制自定义纸张经常出问题建议使用fastreport!
      

  3.   

    又是qreport!我以前被它折磨得够呛!
    3.5版本我也用过,预览时就惨不忍睹,还是调整一下页边距再重新编译