Gracias Rui Pinto (Rapinto)
COBOL Foro
Foro dedicado a COBOL, a la Programación y a la Informática.
Retroceder   COBOL Foro > IDE-s y compiladores COBOL > Fujitsu COBOL > PowerCOBOL y COM/OLE
PowerCOBOL y COM/OLE La utilización de COM / OLE en PowerCOBOL
Comunicados
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
Como generar un PrintScreen Hrmcobol Controles y Componentes (DLL/OCX) 11 14 de agosto de 2018 16:32
[Información] Definir Valores TableControl Recato53 PowerCOBOL (ActiveX, v4 - v11) 1 12 de agosto de 2017 19:04
[Información] Tab Control y como funciona Kuk PowerCOBOL (ActiveX, v4 - v11) 7 30 de diciembre de 2015 23:17
[Sintaxis] Valores ASCII Recato53 PowerCOBOL (ActiveX, v4 - v11) 3 3 de abril de 2015 10:43
[Sintaxis] Valores numericos y editados Breew PowerCOBOL (ActiveX, v4 - v11) 18 31 de marzo de 2015 16:33
Respuesta
 
Herramientas

  #1
Antiguo 18 de abril de 2015, 19:15
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
Ubicación Madrid
Edad36 años
Última Actividad26.01.2021 19:39
PROCEDURE DIVISION
PostsPosts: 1.698
Ha dicho GraciasEnviado: 508
Ha recibido agradecimientosRecibido: 689
Mejores respuestasSoluiones: 91
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Question Como descifrar valores de COM-EXCEPTION

Siempre me ha interesado el tema, ya que uso COM/OLE de vez en cuando para generar archivos EXCEL y otras cosas (como crear instancias de clases CodeJock).

Lo que no me queda claro es como saber los valores que devuelve COM-EXCEPTION. Segun mis observaciones, cada objeto tiene diferentes errores, y se necesitan campos de diferente congitud para recibir los errores.

Pues eso, a ver que sabeis del tema amigos.



NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick
Kuk no ha iniciado sesión   Responder Con Cita
Mejores respuestas Soluciones: 2
  #2
Antiguo 20 de abril de 2015, 00:47
IDENTIFICATION DIVISION
Rapinto
Gran amigo del Foro y Guru de COBOL
Activista del Foro: Activista del Foro - Razón: ¡Gracias!  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
Forero desde (Registrado)febrero 2015
Portugal
Ubicación Porto
Última Actividad29.01.2018 20:23
PROCEDURE DIVISION
PostsPosts: 246
Ha dicho GraciasEnviado: 19
Ha recibido agradecimientosRecibido: 218
Mejores respuestasSoluiones: 47
ReputaciónReputación: 14
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Predeterminado
1 usuarios han marcado este post como "Solución"

Kuk,

Será isto que pretendes???
Código COBOL:
  1. WORKING-STORAGE SECTION.
  2.  01  LINHA                          PIC X(1024).
  3.  01  OLE-ERR-METHOD                 PIC X(256).
  4.  01  OLE-ERR-INFO.                                                
  5.     03  OLE-ERR-TYPE                  PIC X(001).                          
  6.     03  OLE-ERR-WCODE                 PIC X(002).                          
  7.     03  ROLE-ERR-WCODE REDEFINES OLE-ERR-WCODE  PIC S9(04) COMP-5.
  8.     03  OLE-ERR-SCODE                 PIC X(004).                          
  9.     03  ROLE-ERR-SCODE REDEFINES OLE-ERR-SCODE PIC S9(09) COMP-5.
  10.  
  11. PROCEDURE DIVISION.
  12.  DECLARATIVES.                                              
  13.  OLE-ERRO SECTION.                                          
  14.     USE AFTER EXCEPTION OLE-EX.                          
  15.             INVOKE EXCEPTION-OBJECT "GET-ERROR-TYPE"              
  16.                  RETURNING OLE-ERR-TYPE.  
  17.     IF OLE-ERR-TYPE = "1"                                
  18.             INVOKE EXCEPTION-OBJECT "GET-SCODE"  RETURNING ROLE-ERR-SCODE                
  19.             INVOKE EXCEPTION-OBJECT "GET-SCODE-TEXT"   RETURNING LINHA                        
  20.             MOVE LINHA TO OLE-ERR-METHOD                  
  21. ******** MOVE POW-FALSE TO "xlFileStatus" OF POW-SELF
  22. ********  MOVE 0 TO "MousePointer" OF POW-SELF
  23. ********  MOVE "N" TO FILEOPEN
  24.             GO TO MAIN-99-EXIT
  25.        ELSE                                              
  26.             INVOKE EXCEPTION-OBJECT "GET-WCODE"  RETURNING OLE-ERR-WCODE                
  27.             INVOKE EXCEPTION-OBJECT "GET-SCODE"    RETURNING OLE-ERR-SCODE                
  28. *****       MOVE 0 TO "MousePointer" OF POW-SELF.
  29. *****       MOVE "N" TO FILEOPEN
  30.             GO TO MAIN-99-EXIT.
  31.  END DECLARATIVES.

Espero que te ajude.
Saludos,
Rui Pinto
Rapinto no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Kuk (20 de abril de 2015)
  #3
Antiguo 20 de abril de 2015, 09:44
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
Ubicación Madrid
Edad36 años
Última Actividad26.01.2021 19:39
PROCEDURE DIVISION
PostsPosts: 1.698
Ha dicho GraciasEnviado: 508
Ha recibido agradecimientosRecibido: 689
Mejores respuestasSoluiones: 91
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

Rapinto, si a eso me refiero. Pero funciona igual para todos los objetos COM? O dependiendo del objeto la estructura OLE-ERR-INFO varia?


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick
Kuk no ha iniciado sesión   Responder Con Cita
  #4
Antiguo 20 de abril de 2015, 12:54
IDENTIFICATION DIVISION
Rapinto
Gran amigo del Foro y Guru de COBOL
Activista del Foro: Activista del Foro - Razón: ¡Gracias!  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
Forero desde (Registrado)febrero 2015
Portugal
Ubicación Porto
Última Actividad29.01.2018 20:23
PROCEDURE DIVISION
PostsPosts: 246
Ha dicho GraciasEnviado: 19
Ha recibido agradecimientosRecibido: 218
Mejores respuestasSoluiones: 47
ReputaciónReputación: 14
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Predeterminado

Kuk,

Nos testes que fiz, as Declarativas devolvem sempre naquele formato:
- Um código de Erro
- Um texto do Erro
Pode é ser um tipo de erro "S" ou um tipo de erro "W".

Os códigos de Erro são difíceis de encontrar. O que vou fazendo, é provocar o erro de propósito, em cada INVOKE, e ver qual o numero que devolve e qual o texto.

Saludos,
Rui A. Pinto
Rapinto no ha iniciado sesión   Responder Con Cita
  #5
Antiguo 20 de abril de 2015, 13:07
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
Ubicación Madrid
Edad36 años
Última Actividad26.01.2021 19:39
PROCEDURE DIVISION
PostsPosts: 1.698
Ha dicho GraciasEnviado: 508
Ha recibido agradecimientosRecibido: 689
Mejores respuestasSoluiones: 91
ReputaciónReputación: 10
Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road Kuk is on a distinguished road
Predeterminado

Rapinto, cual es la diferencia ente S y W? SIempre devuelve ambos o solo puede haber 1 infromado?

Yo recuerdo que hice unas pruebas (no me acuerdo con que objeto), y ahi no me devolvia ni codigo ni texto... Aunque utilizaba la misma estructura que tu. Puede ser que algun objeto no tenga codigo de errores? Me pareceria muy extraño si no los tuviera!!!

Existen codigos genericos? Tipo "Clase inexistente" y similares, o cada objeto tiene sus propios codigos y textos (si es que los tiene) ?

Ah, otra cosa. Hay alguna diferencia entre si declaras como COM:

Código COBOL:
  1.  CLASS COM AS "*COM".

Y si declaras como OLE:

Código COBOL:
  1.  CLASS COM AS "*OLE".

Porque ambos funcionan bien, pero no se si hay una diferencia.


NORMAS DEL FORO - obligatorias de conocer para TODOS.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale Pinchando en su Nick
Kuk no ha iniciado sesión   Responder Con Cita
  #6
Antiguo 20 de abril de 2015, 18:36
IDENTIFICATION DIVISION
Rapinto
Gran amigo del Foro y Guru de COBOL
Activista del Foro: Activista del Foro - Razón: ¡Gracias!  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por ayudar mucho a los foreros  Guru de los Gurus: Por solidos y amplios conocimientos - Razón: Por saber demasiado! 
ENVIRONMENT DIVISION
Avatar de Rapinto
DATA DIVISION
Forero desde (Registrado)febrero 2015
Portugal
Ubicación Porto
Última Actividad29.01.2018 20:23
PROCEDURE DIVISION
PostsPosts: 246
Ha dicho GraciasEnviado: 19
Ha recibido agradecimientosRecibido: 218
Mejores respuestasSoluiones: 47
ReputaciónReputación: 14
Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road Rapinto is on a distinguished road
Predeterminado
1 usuarios han marcado este post como "Solución"

Kuk,

Object Linking and Embedding = OLE2

Component Object Model = COM

Em Fujitsu COBOL não há diferença nenhuma. Fazem exatamente a mesma coisa.

Anexo uma "pequena" !!!! lista de alguns dos erros.
Saludos,
Rui
Archivos Adjuntos
Tipo de Archivo: zip OLE_ERROR.zip (38,3 KB, 47 descargas)
Rapinto no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Kuk (20 de abril de 2015)
Respuesta


Usuarios activos actualmente viendo este tema: 1 (0 miembros y 1 visitantes)
 
Herramientas

Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado



La franja horaria es GMT +1. Ahora son las 17:56.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2021, Jelsoft Enterprises Ltd.