Getprinter - obțineți numele portului imprimantei

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

Articole similare