Progress - Utilizar un OCX en entorno caracter

 
Vista:

Utilizar un OCX en entorno caracter

Publicado por Ariel (42 intervenciones) el 06/03/2020 13:39:42
Estimados, alguno de ustedes ha utilizado un OCX o Arctive X en entorno caracter, o bien por medio de una llamada a un programa en modo grafico que pueda utilizar OCX y que luego vuelva a modo caracter para retomar el procesamiento normal, ya que necesitaria hacer eso para comunicarme con una impresora fiscal, que la forma de comunicacion es por medio de un OCX provisto por el fabricante, pero todo mi sistema esta desarrollado y corre en modo caracter.
Si es asi les agradeceria me comenten el metodo para hacerlo y si tiene algún ejemplo mejor.
Muchas Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Israel
Val: 20
Ha mantenido su posición en Progress (en relación al último mes)
Gráfica de Progress

Utilizar un OCX en entorno caracter

Publicado por Israel (13 intervenciones) el 06/03/2020 18:40:55
Desconozco si se puede usar en modo carácter (eso solo lo he probado con librerias en dll), en modo gráfico sí, yo los he usado en la versión 9 desde el appBuilder te permite seleccionar el control OCX, ya que lo agregas te crea un procedimiento llamado control_load() que básicamente lo que hace es iniciarlo como un COM-Handle, a partir de ahí ya puedes seleccionar los eventos del control o sus propiedades y funciones. Hay una herramienta "Com Object viewer" que te ayuda con la sintaxis. Me comentas si tienes más dudas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Utilizar un OCX en entorno caracter

Publicado por Ariel (42 intervenciones) el 06/03/2020 19:17:36
Ante todo te agradezco los datos. Si , de esta manenra es como siempre lo utilizo, pero siempre desde un programa armado con la appBuider, y me funciono muy bien com me decis, el problema se me presenta para usarlo en el entorno caracter.
Muchas Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 6
Ha mantenido su posición en Progress (en relación al último mes)
Gráfica de Progress

Utilizar un OCX en entorno caracter

Publicado por Cesar (3 intervenciones) el 06/03/2020 19:01:00
Hola.

Llamar a un programa grafico (de escritorio), y regresar a modo consola, si es posible. No obstante, se hace mas engorroso el manejo de errores de la aplicacion.

Desconozco en Progress, pero por lo menos en .Net (C# o VB .Net), si se puede referenciar DLLs e incluso ActiveX para Windows, aunque la aplicacion sea de consola.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Utilizar un OCX en entorno caracter

Publicado por Ariel (42 intervenciones) el 06/03/2020 19:19:38
Muchas Gracias, pro tu respuesta, tenes algun ejemplo de como llamar a un programa grafico y volver a modo consola, pero partiendo del modo consola. A la sentencia Run habra que ponerle algun a opcion par aindicarle que ese programa es GUI.?
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Israel
Val: 20
Ha mantenido su posición en Progress (en relación al último mes)
Gráfica de Progress

Utilizar un OCX en entorno caracter

Publicado por Israel (13 intervenciones) el 07/03/2020 00:33:52
La ventana que creas es también un procedure de progress, puedes llamarla desde modo consola, del mismo modo que llamas cualquier otro procedure. Si tu problema es tras ejecutar el "Run" la aplicacion no espera a que la ventana cierre solo necesitas usar un código más o menos así

1
2
3
4
5
6
7
8
9
10
DEFINE VARIABLE hVentana AS HANDLE     NO-UNDO.
 
IF NOT VALID-HANDLE(hVentana) THEN
    RUN VentanaImprime.w PERSISTEN SET hVentana.
 
/* Aquí llamas procedures dentro de la ventana y puedes enviarle parametros */
RUN ProcImpFac IN hVentana ("Parametro1", "Parametro2").
 
/* Con esto le dices que espere hasta que termine la ejecucion */
WAIT-FOR CLOSE OF hVentana.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar