Druckproblem: Abbruch mit TPrinter



  • Ach was, sorry, ich meinte nicht die Datei, sondern dein Bild, das kreierst du erst beim Aufruf des Druckermenüs, aber das was zu drucken ist sollte schon vorher festgelegt sein und nicht wärend des Druckmenüs geändert werden.



  • Danke dir dreaddy ich werde mal mein Glück versuchen. 🙂
    Wobei dein Code ja echt übel aussieht für etwas "so normales" wie einen Druck. *hehe*
    Naja mal schaun ob es mit dem IE geht... 🕶

    @Spieleprogrammierer
    Das Bitmap ist bereits vor dem Druckaufruf vorhanden. 🙂
    Aber in das Canvas des Druckers kann ich eben nur im Druckaufruf zeichnen. 😃



  • Über den cppwebbrowser drucken funzt übrigens so:
    (html heisst der webbrowser in den bereits die richtige Seite geladen wurde)

    TVariant vIn, vOut;
      html->ControlInterface->ExecWB(Shdocvw_tlb::OLECMDID_PRINT,
      Shdocvw_tlb::OLECMDEXECOPT_PROMPTUSER, &vIn, &vOut);
    


  • So.. endlich mal registriert....

    *freu*

    Dein Code hat zumindest bei meinen Betatestern gewirkt dreaddy. 🙂
    Beim WebBrowser hab ich leider ein Problem mit den Sicherheitseinstellungen unserer Rechner.... aber wenn es so geht:
    Wunderbar!

    Happy Weekend!



  • Ich glaube das problem liegt woanders. Das bild wärend des druckens zu laden ist schon ok. der drucker druckt sowieso erst wenn er EndDoc() sieht. Vorher sind dann schon ehe alle daten übermittelt. Dein problem könnte an dem Rect liegen. ich glaube er hat manchmal probleme damit. Und weiß nicht wie es weiter gehen soll. Was willst du damit genau bezwecken. Willst du das bild nur auf die richtige größe bringen. wenn ja wieso so kompliziert?



  • So ein ähnliches Problem hatten wir auch mal. Gelöst hatte wir es damit, indem wir nach dem Erzeugen des Quellbitmaps dessen HandleType auf "Device unabhängig" gestellt hatten. Weiss den genauen "Befehl" nicht auswenidg, hab den Builder gerade nicht zur Hand ;). Nach Kopieren des Bitmaps auf den PrinterCanvas kam der Ausdruck wie gewünscht zustande.



  • Das kann auch an den jeweiligen Druckertreibern liegen. Hatte so was mal:

    auf WinNT PC's lief das Drucken 1a.
    Admin macht neuen Service Pack drauf - Aetsch!!!!! :p - nur noch leere Seiten?
    alte Originaltreiber (HP) installiert - geht wieder!

    Laptop mit Win2k und scheinbar gleichem Treiber - KEINE Probleme. 😉

    Die Befehlsfolge ist bei mir gleich! 😉

    PS: der Tip mit "geraeteunabhaengig" klingt gut. Hab' auch schon darauf spekuliert - keine Ahnung wies geht. 😕



  • Konnte gerade nachgucken. Die Eigenschaft ist
    TBitmap::HandleType
    und muß auf
    bmDIB
    gesetzt werden.
    Für weitere Infos -> BCB-Hilfe unter TBitmap



  • @Peter

    Danke! 😉



  • @Blackdragon
    Ich kopiere da einige Form-"Screenshots" zusammen um sie dann auszudrucken.
    Das BMP sieht ja grundsätzlich auch ziemlich gut aus wenn ich es mir mal als Datei wegspeichere. 🙂

    Die Bitmaps geräteunabhängig zu machen ist auch ne ziemlich gute Idee.. nur funktionierte das (zumindest bei zwei meiner internen Betatester) nicht. Die Idee kam mir auch als ich die Hilfefiles durchgesucht habe.

    Wenn es an den Druckertreibern liegt erschiesse ich mich... 😃
    bzw. ich werde von unseren Softwareverteilungs-Admins erschossen..
    Ich glaube ich bau mir noch ein Log ein und zieh die jeweiligen Treiberversionen/SP Vers. in ne DB zum gegenchecken.

    Danke erstmal!


Anmelden zum Antworten