Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL y COM/OLE
PowerCOBOL y COM/OLE La utilización de COM / OLE en PowerCOBOL
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Accept on exception Paco_Diaz GnuCOBOL (OpenCOBOL) 6 21 de mayo de 2024 14:21
[Duda] Definir Valores TableControl Recato53 PowerCOBOL (ActiveX, v4 - v11) 1 12 de agosto de 2017 19:04
[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
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
Pregunta Como descifrar valores de COM-EXCEPTION
0 Inactivo Inactivo

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 - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #2
Antiguo 20 de abril de 2015, 00:47
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

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 is offline   Responder Con Cita
  #3
Antiguo 20 de abril de 2015, 09:44
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

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 - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #4
Antiguo 20 de abril de 2015, 12:54
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

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 is offline   Responder Con Cita
  #5
Antiguo 20 de abril de 2015, 13:07
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

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 - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita
  #6
Antiguo 20 de abril de 2015, 18:36
Rapinto
Gran amigo del Foro
Guru de COBOL
Activista del Foro: Activista del Foro - Issue reason: ¡Gracias! Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por ayudar mucho a los foreros Guru de los Gurus: Por solidos y amplios conocimientos - Issue reason: Por saber demasiado! 
Última Actividad 29.01.2018 20:23
Posts Posts: 240
Likes enviados Enviados: 19
Likes recibidos Recibidos: 224

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)Descargas: 226
Rapinto is offline   Responder Con Cita
Respuesta



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

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 13:11.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.