AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TXPrint

Ein Thema von Herman Thiel · begonnen am 20. Dez 2014 · letzter Beitrag vom 21. Dez 2014
 
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

AW: TXPrint

  Alt 20. Dez 2014, 20:24
Es gibt verschiedene Wege den Bug aufzuspüren.
Du erstellst ein neues Projekt und kopierst die Unit XPRINTER.PAS in das Projektverzeichnis und fügst es zum Projekt hinzu.
Einen Button auf das Formular setzen und dann:
Delphi-Quellcode:
procedure TForm1.Button1OnClick(Sender:TObject);
var test : TXPrint;
begin
   test := TXPrint.Create(self); // Breakpoint auf dieser Zeile setzen

   ShowMessage(test.Printers.Text);
   test.Free;
end;
Mit dem Debugger kannst du dann in TXPrint.Create() hineinsteppen und schauen an welcher Stelle die Exception ausgelöst wird.

Sollte so der Bug nicht reproduziert werden können, dann kann man die Komponente mit OutputDebugString() präparieren:
Delphi-Quellcode:
constructor TXPrint.Create;
begin
  inherited Create(AOwner);
  OutputDebugString('Create #0');
  DummyCreated:=false;
  UnrotatedFont:=0;
  fPrintersInstalled:=PrintersInstalled;
  OutputDebugString('Create #1');
  if fPrintersInstalled>0 then
  begin
    Canvas:=Printer.Canvas;
    Printer.PrinterIndex:=-1;
    OutputDebugString('Create #2');
  end
  else
  begin
    Canvas:=TCanvas.Create;
    DummyCreated:=true;
    OutputDebugString('Create #3');
  end;
  PrintOpened:=false;
  pLogPixelsX:=300; { angenommene Werte als Default }
  pLogPixelsY:=300;
  k:=1;
  OutputDebugString('Create #4');
end;
Bei jeder Änderung am Sourcecode der Komponente muss man das Package neu kompilieren und installieren.
Die Debugmeldung sieht man im Ereignisprotokoll (Strg+Alt+V) oder man verwendet das Tool DebugView.
So kann man Schritt für Schritt das Problem immer mehr einkreisen.
fork me on Github
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz