TPrinter.GetPrinting Function Causes Crash
Original Reporter info from Mantis: Dan3344034
-
Reporter name: Dan Star
Original Reporter info from Mantis: Dan3344034
- Reporter name: Dan Star
Description:
This code from the Wiki ALWAYS causes a crash (MacOS crash message attached):
procedure TfrmLabelIt.btnPrintLabelClick(Sender: TObject);
const
LEFTMARGIN = 100;
HEADLINE = 'I Printed My Very First Text On ';
var
YPos, LineHeight, VerticalMargin: Integer;
SuccessString: String;
begin
with Printer do
try
BeginDoc;
Canvas.Font.Name := 'Courier New';
Canvas.Font.Size := 10;
Canvas.Font.Color := clBlack;
LineHeight := Round(1.2 * Abs(Canvas.TextHeight('I')));
VerticalMargin := 4 * LineHeight;
// There we go
YPos := VerticalMargin;
SuccessString := HEADLINE + DateTimeToStr(Now);
Canvas.TextOut(LEFTMARGIN, YPos, SuccessString);
finally
EndDoc;
end;
end;
Steps to reproduce:
See code in description.
Mantis conversion info:
- Mantis ID: 37291
- OS: MacOS
- OS Build: 10.15.5
- Build: 2020-04-15
- Platform: Lazarus for MacOS
- Version: 2.0.8