GetPrinter - obțineți numele portului imprimantei
Ajutați-vă să utilizați GetPrinter. Am un apel la această funcție și valoarea este returnată corect, dar generează o încălcare a accesului.
Fac asta:
procedura TForm1.Button1Click (expeditor: TObject);
var pf: PRINTER_INFO_5;
h: Thandle;
("EPSON EPL-5900L Advanced", h, 0) Ajutați să utilizați GetPrinter. Am un apel la această funcție și valoarea este returnată corect, dar generează o încălcare a accesului.
Fac asta:
procedura TForm1.Button1Click (expeditor: TObject);
var pf: PRINTER_INFO_5;
h: Thandle;
x, d: dword;
începe
d: = 0;
dacă începe OpenPrinter ("EPSON EPL-5900L Advanced", h, 0)
dacă nu GetPrinter (h, 5,0,0, @ d) începe apoi x: = d;
dacă nu GetPrinter (h, 5, @ pf, x, @ d), atunci showmessage ("itsnogood") altfel
showmessage (pf.pPortName);
se încheie;
la ieșirea din procedură, apare o eroare
Aș fi recunoscător pentru ajutor.
Și totuși - vă rugăm să TPrinter.GetPrinter nu oferă - nu este returnat numele portului - a verificat (pe D5).
Îmi dă:
EPSON Stylus COLOR 680 pe LPT1.
Și nici o greșeală
P.S. Și ce este PRINTER_INFO_5? Avertizat însă despre componentele din stânga.
la Marser - și tu explici că ai o linie:
EPSON Stylus COLOR 680 pe LPT1:
Ce? tp.printers [i] ce?
Și mai mult - să presupunem că aveți dreptate. Deci, ce să fac pentru a conecta linia cu numele portului imprimantei separat? Nu-i așa stupid? Ie Rip din "Imprimanta Lalala Lpt: 11111" și vreau să spun că trebuie să rupi numele portului de pe linie?
akonshin / files / PrintLib.pas
Aceasta este adăugarea mea pentru unitatea Imprimante. Hak, dar încă lucrează la ura.
Uită-te atent, e tot ce trebuie să mănânci.
Rip și nu, uită-te la codul meu.
la Marser - sau am ceva în sistem sau în delphi nu-i așa, sau greșești. Direct codul pe care îl folosesc și primesc NUMAI nume de imprimante, iar porturile și într-o urmă nu sunt prezente.
la Alex Konshin - este numele portului pe care îl obțin prin mânerul imprimantei primit. Pot să primesc mâna singur.
la Marser - și totuși - am a 5-a delphi.
Spun, uite atent
PortName: = THackPrinterDevice (oPrinter.Printers.Objects [idx]) FPort ;.
Memorie: 0,74 MB
Timp: 0,035 sec