Błąd Access violation at address przy drukowaniu.

0

Hej

Napisałem prosty program do drukowania :

 
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Printers, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  Drukarka: TPrinter;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

Drukarka := TPrinter.Create;


Drukarka.BeginDoc;


Drukarka.Canvas.TextOut(0, 0, 'Jakis tam tekst');


Drukarka.EndDoc;
end;

end.

i teraz tak : drukarka to 'doPDF' , po to aby kartek nie zmarnować :) , a system operacyjny to Windows 7...

Kompilacja przebiega prawidłowo, natomiast w momencie drukowania wyskakuje błąd treści :

"Access violation at address 00423C68 in module 'Project1.exe'. Read of address 0000001D."

To jest chyba najłatwiejsza próba drukowania za pomocą delphi, a mimo to jest jakiś problem...

Hilfe?

0

A może tak zajrzysz do przykładów albo do helpa?
Napisz słowo Printer, wstań na niego naciśnij F1 wybierz funkcję Printer po czym zobacz przykład.

0

Sam sobie odpowiem na pytanie :) Zainstalowałem Bullzipa i działa... mimo to nie wiem dlaczego doPDF ma awarie...

0

Bo ma być:

begin
  Printer.BeginDoc;
  Printer.Canvas.TextOut(0, 0, 'Jakis tam tekst');
  Printer.EndDoc;
end;

Żadnego create, żadnego free.

0

Poważnie to z helpa?
No nie zupełnie, trochę nagiąłem fakty, w helpie jest tak:

procedure TForm1.Button1Click(Sender: TObject);

var
  Bmp: TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.LoadFromFile('MyBitmap.bmp');
    with Printer do
    begin
      BeginDoc;
      Canvas.Draw((PageWidth - Bmp.Width) div 2,
                  (PageHeight - Bmp.Height) div 2,
                  Bmp);
      EndDoc;
    end;
  finally
    Bmp.Free;
  end;

end;

Ale fakt zostaje faktem, koleś woli napisać na forum niż nacisnąć F1

1 użytkowników online, w tym zalogowanych: 0, gości: 1