AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Drucken im Netzwerk mit TidLpr: "Socket already in use"
Thema durchsuchen
Ansicht
Themen-Optionen

Drucken im Netzwerk mit TidLpr: "Socket already in use"

Ein Thema von skyobserver · begonnen am 5. Jan 2010 · letzter Beitrag vom 9. Mär 2010
 
Assertor

Registriert seit: 4. Feb 2006
Ort: Hamburg
1.296 Beiträge
 
Turbo C++
 
#12

Re: Drucken im Netzwerk mit TidLpr: "Socket already in

  Alt 9. Jan 2010, 17:04
Hallo skyobserver,

probier mal bitte folgendes, um die Beschränkung der RFC 1179 zu umgehen:

Delphi-Quellcode:
IdLPR1.Host := 'brn_906b9b';
IdLPR1.Queue := 'BINARY_P1';

IdLPR1.BoundPortMin := 512;
IdLPR1.BoundPortMax := 1024;
IdLPR1.BoundPort := IdLPR1.BoundPortMin;

while (not IdLPR1.Connected) and (IdLPR1.BoundPort <= IdLPR1.BoundPortMax) do
begin
  try
    IdLPR1.Connect;
  except
    On E: EIdSocketError do
    begin
      if E.LastError = 10048 then // Socket already in use...
        IdLPR1.BoundPort := IdLPR1.BoundPort + 1
      else
        raise;
    end;
    On E: Exception do
      raise;
  end;
end;

if IdLPR1.Connected then
begin
  IdLPR1.PrintFile('D:\temp.prn');
  IdLPR1.Disconnect;
end
else
  ShowMessage('Fehler beim Versenden des Printfiles');
Das ist zwar nicht schön und nicht schnell bei vielen Druckaufträgen, sollte aber funktionieren. Sobald dann die ersten Ports in der Range wieder frei werden (die 60-120 Sekunden), wird beim nächsten Auftrag wieder ein kleinerer Port genommen.

Eine Abbruchmöglichkeit und Fehlerprüfung solltest Du noch einbauen, aber Du hast schonmal eine Idee davon.

Edit: Die Exception wirst Du in der IDE trotzdem noch sehen, also bitte entsprechend steuern & testen.

Gruß Assertor
Frederik
  Mit Zitat antworten Zitat
 


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 06:13 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