Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Patch in printers.pas blockiert eigenes Package (https://www.delphipraxis.net/8602-patch-printers-pas-blockiert-eigenes-package.html)

Klaus Etscheid 8. Sep 2003 16:56


Patch in printers.pas blockiert eigenes Package
 
Um mit meinen Ausdrucken auch den Acrobat Distiller ansprechen zu können habe ich printers.pas um eine globale Variable erweitert. Diese Variable wird in TPrinter.BeginDoc() in DocInfo.lpszOutput geschrieben.
Das hat bislang prima funktioniert.

Jetzt soll eine Komponente, die die globale Variable aus printers.pas verwendet, in ein Package eingebaut werden.
Beim Übersetzen des Packages kennt Delphi die globale Variable nicht mehr.
Scheinbar ist in vcl70.bpl die originale printers.pas eingebunden und wird beim Übersetzen verwendet.

Kennt jemand das Problem?
Gibt es eine Lösung?
:(

Daniel B 8. Sep 2003 17:16

Re: Patch in printers.pas blockiert eigenes Package
 
Hi,

bitte die Threads nicht doppelt posten, das bringt nichts, anscheinend kennt sich keiner damit aus. Aber vielelicht kommt ja noch was. ;)

jbg 8. Sep 2003 18:08

Re: Patch in printers.pas blockiert eigenes Package
 
Mache eine Kopie von Printers.pas und speichere sie z.B. als PrintersEx.pas ab. In der Komponente verwendest du dann statt der Unit Printers die Unit PrintersEx und es kommt zu keinem Konflikt mit der VCL70.BPL.

Klaus Etscheid 8. Sep 2003 18:09

Re: Patch in printers.pas blockiert eigenes Package
 
OK, ich bemüh mich (es sah aber ganz danach aus als ob das Posting bereits in Vergessenheit geraten wäre).

Habe trotzdem eine Lösung gefunden (Details unter http://bdn.borland.com/article/0,1410,17394,00.html ):

:idea:
Anleitung:
1. lege eine neue Unit PrintersGlobals.pas im gleichen Verzeichnis wie printers.pas an
2. in PrintersGlobals eine globale Stirng-Variable PrinterOutputFile anlegen
3. in printers.pas, TPrinter.BeginDoc() PrinterOutputFile der Variablen lpszOutput zuweisen
4. im eigenen Quelltext die Unit PrintersGlobals dazuholen
5. vor dem Drucken der globalen Variablen PrinterOutputFile den gewünschten Dateinamen zuweisen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:11 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