Newsgroup: it.comp.lang.delphi
Titolo: Printer.GetPrinter, Printer.SetPrinter

Qualche anima pia mi sa indicare i parametri da passare a questi metodi? Io
non ho capito molto ...
--
Giuseppe Fraddosio
fradd...@libero.it
fradd...@supereva.it

> Qualche anima pia mi sa indicare i parametri da passare a questi
metodi? Io non ho capito molto ... <<
dall'help di D5:
"procedure GetPrinter (ADevice, ADriver, APort: PChar; var ADeviceMode:
THandle);
...
For more information, see the CreateDC function in the Win32 Developer's
Reference (WIN32.HLP)"
Ma, se si va a vedere la VCL (Printers.pas) si vede che non fa altro che
ritornare Nome, Driver, e Porta della stampante correntemente selezionata,
insieme ad un Handle che ne "contiene" le caratteristiche.
(Occhio che i PChar che passi abbiano abbastanza memoria allocata)
AFAIK, questi wrapper di funzioni windows vengono chiamati in coppia:
chiami GetXxxx, cambi quel che devi delle strutture che hai avuto di
ritorno, infine chiami SetXxxx.
Saluti
Paolo Arosio

OK, allora devi fare così, come ti è già stato detto ma io ti mando il mio
codice, così hai una conferma.
ADevice, ADriver, APort : array [0..255] of Char;
 DeviceHandle : THandle;
Printer1.GetPrinter(ADevice, ADriver, APort, DeviceHandle);
per usare la SetPrinter devi usare le stesse variabili dopo averle
modificate a tuo piacimento.
Spero di esserti stato utili, Ciao.
________________________________
 David Marcucci
                Programmatore
            Direzione Sistemi Informativi
   SITA S.p.a.
-- 
Posted from 
sita.adsl.fol.it
 [213.26.241.44] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Printer1.GetPrinter(ADevice, ADriver, APort, DeviceHandle);
sta roba sotto Win2K non funziona. O meglio, funziona in parte, la porta non
viene riportata (e' sempre una stringa nulla) e le procedure GetMem/FreeMem
talvolta creano AV.
Io ho trovato una soluzione molto piu' semplice: usare l'array
Printer.Printers.
Ciao, Sandro

 ha scritto nel messaggio
news:9drhug$jnkj7$1...@ID-43509.news.dfncis.de...

Che pero' sotto Windows2000 non funziona con le stampanti di rete ;-( Per
questo speravo in GetPrinter e SetPrinter


 ha scritto nel messaggio
news:KTgM6.3060$pa3.4...@news.infostrada.it...


 questo speravo in GetPrinter e SetPrinter
boh, da me funziona. Lo ho provato un paio di volte, avevo una HP 1100
collegata su LPT3 (porta di rete assegnata a \\server\hp1100 ), veniva
riportata regolarmente in lista, come pure chiaramente nel pannello di
controllo.
Ciao, Sandro

 ha scritto nel messaggio
news:9dss2t$jqq21$1...@ID-43509.news.dfncis.de...

E' la stessa mia stampante di rete :-) pero' io ho Windows2000 professional
e la
stampante e' installata su WindowsME. Che sia lui il problema? Tra l'altro
la stessa
procedura che non funge sul mio PC sull'altro funge perfettamente.


 procedura che non funge sul mio PC sull'altro funge perfettamente.
io avevo fatto la prova contraria: la stampante era su W2K, su W2K era
installato il driver per W2K e per W98 (che era montato sul pc in rete); sul
pc in rete il .Printers la vedeva regolarmente. Misteri :)))
Ciao, Sandro

 pc in rete il .Printers la vedeva regolarmente. Misteri :)))
Infatti. Cosi' funziona il contrario no.


Io ho fatto tutto quello di cui stiamo parlando, sia sotto Win95, Win98,
2000 e Me.
Non ho incontrato i vostri problemi, la porta mi viene sempre restituita e
lavoro anche con le stampanti di rete.
Non posso quindi esservi di grande aiuto, mi spiace.
Spero che il mio PGM non incontri mai gli stessi errori dato che lo stanno
usando in tutto il mondo dalle piu' disparate versioni di
Windows(AIUTO!!!!!!).
 David Marcucci


 Windows(AIUTO!!!!!!).
Che prg e'?


 Windows(AIUTO!!!!!!).
che software e'?
Ciao, Sandro