Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi FMX/VCL Unterschied bei AssignPrn() (https://www.delphipraxis.net/193470-fmx-vcl-unterschied-bei-assignprn.html)

wjjw 3. Aug 2017 18:50

FMX/VCL Unterschied bei AssignPrn()
 
Hallo!

Habe ein altes VCL Programm versucht auf die neue FMX Platform umzuschreiben.
Hierbei verwende ich zum Drucken AssignPrn() und den WriteLn() Befehl.
Was unter VCL funktioniert kommt unter FMX (Win) nicht lesbar raus.

Drucker ist ein Epson POS Drucker - sollte aber egal sein.
Wenn der Drucker das gleiche bekommt, sollte auch das gleiche rauskommen.
Nehme jedoch an das im FMX Modul etwas verändert wird - also kein Plain-Text.

Code:
// FMX: uses FMX.Printer;
// VCL: uses Vcl.Printers;
procedure TForm1.Button1Click(Sender: TObject);
var f : TextFile;
begin
   AssignPrn(f);  
   Rewrite(f);
   WriteLn(f, '0123456789ABCDEF');
   CloseFile(f);
end;
Hat jemand eine Idee?

Danke,
/Werner

himitsu 3. Aug 2017 20:06

AW: FMX/VCL Unterschied bei AssignPrn()
 
Einen Unterschied gibt es definitiv.
Am Ende wird in der VCL eine notmale "alte" TPrinter-Instanz verwendet und dort mittels MSDN-Library durchsuchenTextOutA der Text auf das Canvas gezeichnet.
FMX nutzt da stattdessen Printer.Canvas.FillText, was natürlich in einem mehrfach wild verschachtelten TPrinter des FMX liegt und das da wie genau abläuft wollte ich jetzt nicht versuchen nachzuvollziehen.

Ich würde hier eventuell empfehlen eine Zugriffskomponente dieses Druckerherstellers zu verwenden, wo die Komponente dann überall gleich ist (im Windows, aber egal ob FMX oder VCL).


Pssst, auch wenn es böse ist, aber versucht im FMX doch einfach dennoch den VCL-TPrinter zu nutzen, wenn der FMX kaputt kaputt ist. :stupid:
VCL geht da einfach direkt und ohne größere Umwege auf die WinAPI.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz