Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Standard Drucker setzen (Delphi/C) Probleme (https://www.delphipraxis.net/145959-standard-drucker-setzen-delphi-c-probleme.html)

Abstract 11. Jan 2010 14:15


Standard Drucker setzen (Delphi/C) Probleme
 
Hallo zusammen,

folgender Sachverhalt:
Das Einstellen des Standard Druckers in Delphi oder C(++) ist ja einfach und in diversen Foren zu finden. Allerdings muß ich sagen daß es in Delphi wohl Probleme gegenüber C(++) gibt.

Delphi:
Hier sind mir 2 Befehle bekannt, von denen SetPrinter scheinbar nicht funzt:

Delphi-Quellcode:
 Printer.SetPrinter(PChar('Druckername'), sDriver, sPort, hDeviceMode);
Also bleibt nur

Delphi-Quellcode:
StrPCopy(ResStr,'Druckername');
WriteProfileString ('windows', 'device', ResStr);
StrCopy (ResStr, 'windows');
übrig.

C(++):
Zitat:

SetDefaultPrinter (Druckername);
Broadcast erfolgt anschließend in beiden Sprachen.

Nun zum Problem:
In C(++) funktioniert alles einwandfrei, d.h. Windows erkennt den neuen SD einwandfrei an und das schwarze Häkchen ist auch richtig gesetzt (Start/Einstellungen/Drucker und Faxgeräte).
In Delphi dagegen ist das Häkchen weg, wie wenn kein SD erkannt bzw. gesetzt wird.
(Konsolenanwendung als Test)

Das große Problem ist, daß eine Win-Applikation in Delphi verschiedene Drucker ansteuert. Dazu wird immer der aktuelle SD geholt, temp. nen anderer D zum SD erklärt, benutzt und anschließend der alte SD wiederhergestellt. Will man danach mit einer anderen Applikation den SD benutzen, stürzt diese ab, sofern man nicht vorher extra manuell (Start/Einstellungen/Drucker und Faxgeräte) den SD nochmals zum SD erklärt (obwohl der schw. Haken schon richtig steht).

In C dagegen passiert dies nicht. Deshalb behaupte ich einfach mal, daß in C der einzige Befehl mehr macht als das Pendant in Delphi.

Was mache ich in Delphi falsch?
Wer kennt das und kann weiterhelfen?

Danke!


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