Newsgroup: it.comp.lang.delphi
Titolo: Driver HP e Printer.EndDoc

Ho dei vecchi programmini, scritti ancora con Delphi 3, per la stampa di
etichette che finora han sempre fatto il loro sporco lavoro...
Con l'acquisto di una nuova stampante, HP Laserjet 1600, ho avuto dei
problemi... La stampante e` condivisa in rete... finche` la stampa
avviene dal pc al quale e` collegata, tutto funzia [e, da quanto ho
capito dalle mie ricerche, dovrebbe funzionare bene anche se collegata
ad una porta HP tcp/ip, ad esempio su un server di stampa]... ma se la 
stampa avviene da un altro pc, una volta eseguita l'istruzione EndDoc
compare l'avviso di floating point error e manda a monte l'operazione...
Ovviamente ho gia` cercato info sul web... ho trovato un workaround che
consiste nel disabilitare l'avviso di errore [Set8087CW($133F);] e altre
informazioni utili che pero` devo ancora digerire... Ancora non ho 
risolto del tutto, ma perlomeno la stampa si realizza...
E devo aggiungere che ho fatto una prova con TurboDelphi, ma i risultati
sono gli stessi [quindi non credo c'entri la mia versione obsoleta di
delphi]... aggiungo pure che il problema si presenta esclusivamente con
prodotti HP [e solo recenti, da quanto ho capito]...
Quello che volevo chiedervi e` se anche a voi sono capitati problemi
simili ed eventualmente come li avete risolti...
Ciao ciao
Claudio

xp o cosa?
A.

A me capitavano gli stessi errori durante la stampa in rete, alla fine 
non ho risolto ma ho aggirato la cosa utilizzanto quickreport. Da quello 
  che ricordo l'errore si sollevava durante il caricamento del driver hp 
(nello specifico utilizzavo una Laserjet 2600n). L'errore ti si presenta 
su EndDoc ma in realtà accade prima (su BeginDoc mi pare, comunque al 
momento del caricamento driver come da indicazioni su Eventlog). 
Ovviamente con altre stampanti in rete non accadeva :) So che ci sono 
aggiornamenti driver in giro, prova a dare un occhiata....
Coso ha scritto:


 xp o cosa?
Sia xp che 2000... La macchina con la stampante fisicamente attaccata e` 
un 2000 professional... la macchina client e` un xp home...
Poi da casa ho fatto altre prove su un server debian, ma senza la 
stampante [ho installato solo sul client il driver per la clj1600, non 
avendola a disposizione]...
Ma il problema e` quello descritto qua:
http://forums12.itrc.hp.com/service/forums/bizsupport/questionanswer.do?admit=109447627+1204031597138+28353475&threadId=1032468
anche se la stampante e` diversa.
Non e` un grosso problema per me, perche` comunque riesco a stampare 
direttamente dal server e avevo gia` una mezza intenzione di attaccare 
la stampante ad un serverino di stampa [il problema si presenta solo con 
stampanti condivise]... tuttavia sarei abbastanza curioso di trovare una 
soluzione pulita...
Scusa la confusione, ma non me ne intendo abbastanza e non ho nemmeno 
dormito moltissimo... :-)
Ciao ciao
Claudio

 aggiornamenti driver in giro, prova a dare un occhiata....
Ti ringrazio, e` proprio quello il problema.
Purtroppo avevo usato i metodi della Printer di delphi perche` erano 
programmi semplici per stampare etichette [barcode e/o piccoli testi] e 
mi risultava piu` comodo che usare quickreport o altri simili... ma e` 
tutta roba facile da riscrivere [anche se io sono lentissimo :-)]... ma 
intanto provero` driver aggiornati.
Grazie ancora e
Ciao ciao
Claudio

In alternativa a Set8087CW(Saved8087CW)
potresti provare anche:
begin
   ......
   asm
     fnclex
   end;
   EndDoc;
end;
serve a pulire le eccezioni FPU precedenti.
In ogni caso è chiaro che il campo di azione è ristretto se il problema 
è il driver.
Coso ha scritto:


 serve a pulire le eccezioni FPU precedenti.
Ohi, lo devo provare! :-)
Perche` col Set8087CW sulla macchina operativa riesco a stampare ma poi 
solleva comunque l'eccezione [ed e` un problema che non sono riuscito a 
riprodurre nelle mie prove casalinghe].
Ancora e ancora grazie... faro` sapere il risultato.
Ciao ciao
Claudio

 riprodurre nelle mie prove casalinghe].
Ha funzionato... l'ho messo dopo l'EndDoc e ho dovuto mantenere la 
soluzione precedente, ma ora non ho piu` il fastidio dell'altro 
misterioso messaggio di overflow che non se ne voleva andare...
Sarai stufo di sentirlo, ma ti ringrazio ancora tantissimo... perche` mi 
hai risparmiato un bel po' di lavoro e di fastidi. Ti sono debitore! :-)
Ciao ciao
Claudio

Molto bene!
Saluti
Ale
Coso ha scritto:
