Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol GnuCOBOL (OpenCOBOL) IDE-s para GnuCOBOL
IDE-s para GnuCOBOL IDE-s compatibles con GnuCOBOL
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Compilador] OpenCobolIde Error alucinante Paco_Diaz IDE-s para GnuCOBOL 3 4 de agosto de 2022 13:56
[Compilador] Imprimir desde el OpenCobolIde Michel GnuCOBOL (OpenCOBOL) 8 30 de septiembre de 2021 18:28
[Duda] OpenCobolIDE 4.7.6 ALJ GnuCOBOL (OpenCOBOL) 1 2 de abril de 2020 09:10
[Duda] Call "CFURCOV" System error occurred. code = 0x25 dmosca PowerCOBOL (ActiveX, v4 - v11) 19 6 de agosto de 2019 15:29
[Sintaxis] Error en programa: Illegal function call Begoguay PowerCOBOL (ActiveX, v4 - v11) 3 11 de julio de 2018 19:41

Respuesta
 
Herramientas

  #11
Antiguo 26 de julio de 2023, 00:23
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 27.09.2026 07:41
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

@Lavronacín, pues dentro del subprograma _1 haces un call a subprograma-1-1.

Que problema te surge ?
JCantero is offline   Responder Con Cita
  #12
Antiguo 26 de julio de 2023, 00:43
Lavronacín
Acabo de llegar...
Última Actividad 31.07.2023 21:22
Posts Posts: 4

Pues, el mismo mensaje de "No encuentañra punto de entrada". Tanto subprograma_1 como subprograma_1_1 han sido compilados como módulos (dll)
Lavronacín is offline   Responder Con Cita
  #13
Antiguo 26 de julio de 2023, 17:33
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 27.09.2026 07:41
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

@Lavronacín, te pongo un ejemplo que funciona.

Atencion, el nombre del programa debe de estar bien escrito para identificarlo. Me refiero al "program-id. mundo2". "END PROGRAM mundo2." lo puedes suprimir.

Prueba y me dices si algo no te funciona. O pasa un ejemplo.

Programa inicial:

Código COBOL:
  1.      ******************************************************************
  2.      * Author:
  3.      * Date:
  4.      * Purpose:
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. mundo1.
  9.        DATA DIVISION.
  10.        FILE SECTION.
  11.        WORKING-STORAGE SECTION.
  12.        01 indice pic 9.
  13.        PROCEDURE DIVISION.
  14.        MAIN-PROCEDURE.
  15.             DISPLAY "Hello world 1"
  16.             ACCEPT indice.
  17.             call 'mundo2'.
  18.             STOP RUN.
  19.        END PROGRAM mundo1.
  20.  

Programa llamado:

Código COBOL:
  1.      ******************************************************************
  2.      * Author:
  3.      * Date:
  4.      * Purpose:
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. mundo2.
  9.        DATA DIVISION.
  10.        FILE SECTION.
  11.        WORKING-STORAGE SECTION.
  12.        01 indice pic 9.
  13.        PROCEDURE DIVISION.
  14.        MAIN-PROCEDURE.
  15.             DISPLAY "Hello world 2"
  16.             ACCEPT indice.
  17.            
  18.             STOP RUN.
  19.        END PROGRAM mundo2.
JCantero is offline   Responder Con Cita
  #14
Antiguo 26 de julio de 2023, 17:46
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 27.09.2026 07:41
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

@Lavronacín, otra cosa.....

Los programas llamados tienen que estar como modulos. O sea como .dll

El programa inicial como ejecutable. O sea como .exe
JCantero is offline   Responder Con Cita
  #15
Antiguo 26 de julio de 2023, 18:13
Lavronacín
Acabo de llegar...
Última Actividad 31.07.2023 21:22
Posts Posts: 4

Así mismo están
Y el mensaje sale "No encuentra punto de entrada". ¿Desde un .DLL se puede llamar a otro .DLL?
Lavronacín is offline   Responder Con Cita
  #16
Antiguo 26 de julio de 2023, 22:08
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 27.09.2026 07:41
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

@Lavronacín, si pero solo desde el entorno de trabajo.

Si lo pones en producción y lo ejecutas desde la linea de comandos el primer programa debe de ser .exe, el resto modulos .dll

Te funciona el ejemplo que te he enviado ?

Si no te funciona tu programa pon aqui lo que no te funciona para que veamos el problema.
JCantero is offline   Responder Con Cita
  #17
Antiguo 31 de julio de 2023, 18:23
Lavronacín
Acabo de llegar...
Última Actividad 31.07.2023 21:22
Posts Posts: 4

Estimado, buen día.
Disculpa que no pude responder antes. Mira: te pongo fuentes de ejemplo de lo que deseo implementar:
Nota: El programa principal lo compilo como ejecutable, los otros como DLL. Y tanto el Exe como los DLL están en la misma carpeta.
Programa Principal:
---------------------
Código COBOL:
  1.      ******************************************************************
  2.      * Author: Lavronacin
  3.      * Date: 31/07/2023
  4.      * Purpose: Verificar llamadas de subprogramas
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. PRGEjem01.
  9.        DATA DIVISION.
  10.        FILE SECTION.
  11.        WORKING-STORAGE SECTION.
  12.        77  Aceptar_Opcion    Pic X(01) Value Spaces.
  13.        PROCEDURE DIVISION.
  14.        MAIN-PROCEDURE.
  15.             Display " " Blank Screen Line 01 column 01.
  16.             Display "Soy el programa principal PRGEjem01"
  17.                     Line 09 column 05
  18.             Display "Voy a llamar a PRGEjem01_01"
  19.                      line 10 column 05.
  20.             Accept Aceptar_Opcion line 10 column 79.
  21.             Call "bin\PRGEjem01_01".
  22.             STOP RUN.
  23.        END PROGRAM PRGEjem01.

Subprograma de nivel 1 que quiero ejecutar:
---------------------------
Código COBOL:
  1. ******************************************************************
  2.      * Author: Lavronacin
  3.      * Date: 31/07/2023
  4.      * Purpose: Verificar llamadas de subprogramas
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. PRGEjem01_01.
  9.        DATA DIVISION.
  10.        FILE SECTION.
  11.        WORKING-STORAGE SECTION.
  12.        77  Aceptar_Opcion    Pic X(01) Value Spaces.
  13.        PROCEDURE DIVISION.
  14.        MAIN-PROCEDURE.
  15.             Display "Soy el programa PRGEjem01_01"
  16.                     Line 12 column 10
  17.             Display "Voy a llamar a PRGEjem01_A"
  18.                      line 13 column 10.
  19.             Display " Y voy a llamar a PRGEjem01_B"
  20.                      line 14 column 10.
  21.             Accept Aceptar_Opcion line 14 column 79.
  22.             Call "PRGEjem01_A".
  23.             Call "PRGEjem01_B"
  24.             STOP RUN.
  25.        END PROGRAM PRGEjem01_01.

Subprograma de nivel 2 que quiero ejecutar:
----------------------------------------------
Código COBOL:
  1. ******************************************************************
  2.      * Author: Lavronacin
  3.      * Date: 31/07/2023
  4.      * Purpose: Verificar llamadas de subprogramas
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. PRGEjem01_A.
  9.        DATA DIVISION.
  10.        FILE SECTION.
  11.        WORKING-STORAGE SECTION.
  12.        77  Aceptar_Opcion    Pic X(01) Value Spaces.
  13.        PROCEDURE DIVISION.
  14.        MAIN-PROCEDURE.
  15.             Display "Soy el programa PRGEjem01_A"
  16.                     Line 16 column 10
  17.             Display "me llamó PRGEjem01_01"
  18.                      line 17 column 10.
  19.             Accept Aceptar_Opcion line 17 column 79.
  20.             STOP RUN.
  21.        END PROGRAM PRGEjem01_A.

Otro subprograma de nivel 2 que quiero ejecutar:
-----------------------------------------------------
Código COBOL:
  1. ******************
  2.      * Author: Lavronacin
  3.      * Date: 31/07/2023
  4.      * Purpose: Verificar llamadas de subprogramas
  5.      * Tectonics: cobc
  6.      ******************************************************************
  7.        IDENTIFICATION DIVISION.
  8.        PROGRAM-ID. PRGEjem01_B.
  9.        DATA DIVISION.
  10.        FILE SECTION.
  11.        WORKING-STORAGE SECTION.
  12.        77  Aceptar_Opcion    Pic X(01) Value Spaces.
  13.        PROCEDURE DIVISION.
  14.        MAIN-PROCEDURE.
  15.             Display "Soy el programa PRGEjem01_B"
  16.                     Line 19 column 10
  17.             Display "me llamó PRGEjem01_01"
  18.                      line 20 column 10.
  19.             Accept Aceptar_Opcion line 20 column 79.
  20.             STOP RUN.
  21.        END PROGRAM PRGEjem01_B.

Última edición por Josber fecha: 1 de agosto de 2023 a las 11:28. Razón: Utiliza el resalte de lenguaje
Lavronacín is offline   Responder Con Cita
  #18
Antiguo 31 de julio de 2023, 20:53
JCantero
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos de parte de los Foreros 
Última Actividad 27.09.2026 07:41
Posts Posts: 442
Likes enviados Enviados: 167
Likes recibidos Recibidos: 269

@Lavronacín, asi no

Código COBOL:
  1. Call "binPRGEjem01_01".

asi si

Código COBOL:
  1. Call "PRGEjem01_01".

y verifica que esta compilado como modulo y existe el .DLL
JCantero 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 00:54.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.