阅读:1197回复:1
关于打印请教,谢谢
<TABLE border=0 class=tablebody2 style="TABLE-LAYOUT: fixed; WORD-BREAK: break-all" width="90%">
<TR> <TD width="100%"><IMG border=0 src="http://www.lbschina.com.cn/forum/face/face1.gif"> <B>再次请教打印问题 谢谢</B> 有关打印的一些问题请各位看官指教,谢谢 我有这么一段简单打印程序 procedure TForm1.Button1Click(Sender: TObject); begin map1.Zoom:=3000; map1.Refresh; if PrintDialog1.Execute then begin map1.PaperUnit := miPaperUnitMillimeter; try Printer.BeginDoc; Map1.PrintMap(Printer.Handle, 0,0, Map1.Width *100, Map1.Height* 100); Printer.EndDoc; except Printer.Abort; MessageDlg('不能打印地图', mtError, [mbOK], 0); end; end; end; 报错信息: project raised exception class EAccessviolation with message'Access violation at address 019e65cd in module 'mapper.dll'read of address 00000' process stop. 当我把zoom调到3100以上就可以正常打印 小于3100报错 本来我的程序是在map上选中一个矩形区域 然后打印 但是也是抱这个错 于是我索性就光打印 结果发现错处在zoom值上。但是不能不让我实现放大打印的功能呀! <P>还有printmap 这句 map1.width*100是为什么? map1.PaperUnit := miPaperUnitMillimeter;又是为什么? 谢谢帮助</P></TD></TR></TABLE> |
|