PDA

Ver la Versión Completa : obtener handle de la impresora en FMX


fredo
09-07-2016, 20:17:16
Hola colegas, ¿existe alguna manera de obtener el handle de la variable Printer en firemonkey?, necesito enviar comandos directos pero el nuevo objeto printer no pesee handle hasta donde yo se.

gracias!!:confused:

AgustinOrtu
09-07-2016, 22:31:23
Segun esto (http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Printer.Win.TPrinterWin.Handl) podrias probar a castear a TPrinterWin

fredo
10-07-2016, 19:36:21
Segun esto (http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Printer.Win.TPrinterWin.Handl) podrias probar a castear a TPrinterWin

Gracias, pero no funciona, de momento construi una dll en vcl para poder enviar comandos directos a las impresoras, sin embargo en fmx me fue imposible, trate por muchos medios incluso tratando como archivo la impresora y no hay caso... si alguien sabe mas del tema se le agresera mucho ademas que es tema practicamente no tocado en firemonkey (por que en vcl hay mucho material). LÑa necesidad es poder hacer lo mismo desde mac... gracias!!

AgustinOrtu
10-07-2016, 20:45:58
Extraño que no funcione. Que código usaste y que error te dio? Yo enviaría un reporte a Embarcadero

fredo
10-07-2016, 23:55:39
Extraño que no funcione. Que código usaste y que error te dio? Yo enviaría un reporte a Embarcadero

efectivamente eso hare, de momento sigo con la vcl.... la unidad fmx.printer es muy distinta a la de vcl y muy limitada, gracias.

te dejo el mas corto de mis intentos de los tantos que probe.

begin
AssignPrn(Impresora);
ReWrite(Impresora); //apertura del archivo
try
comando:=Chr(27)+chr(112)+chr(48)+chr(55)+chr(121);
write(Impresora,decode(comando));
// si agrego mas cosas al write se escriben sin problemas, ls comando no se ejecuntan en ningun caso
finally
CloseFile(Impresora); //cerrar el archivo
end;
end;


ojo que con vcl funciona....

AgustinOrtu
11-07-2016, 03:27:46
Acabo de darme cuenta de que el enlace en mi respuesta es incorrecto

Este (http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Printer.Win.TPrinterWin.Handle) es el correcto

Tampoco tuviste exito usando la clase TPrinterWin de la unit FMX.Printer.Win?

Yo creo que esto deberia ser reportado :)

fredo
11-07-2016, 04:52:21
Acabo de darme cuenta de que el enlace en mi respuesta es incorrecto

Este (http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Printer.Win.TPrinterWin.Handle) es el correcto

Tampoco tuviste exito usando la clase TPrinterWin de la unit FMX.Printer.Win?

Yo creo que esto deberia ser reportado :)
probare mnañana de momento conforme con la simple dll, el problema se me dara con MacOs, ya que no tiene la dichoza libreria.... aunque aun no pruebo ahi.. informare de los resultados.... gracias por la ayuda!!!