AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi FMX/VCL Unterschied bei AssignPrn()
Thema durchsuchen
Ansicht
Themen-Optionen

FMX/VCL Unterschied bei AssignPrn()

Ein Thema von wjjw · begonnen am 3. Aug 2017 · letzter Beitrag vom 3. Aug 2017
Antwort Antwort
Benutzerbild von wjjw
wjjw

Registriert seit: 3. Aug 2017
Ort: Wiener Neustadt, Österreich
75 Beiträge
 
Delphi 12 Athens
 
#1

FMX/VCL Unterschied bei AssignPrn()

  Alt 3. Aug 2017, 19:50
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
Werner Weiß
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX/VCL Unterschied bei AssignPrn()

  Alt 3. Aug 2017, 21:06
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.
VCL geht da einfach direkt und ohne größere Umwege auf die WinAPI.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 3. Aug 2017 um 21:10 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:47 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