Ver Mensaje Individual
  #3
Antiguo 10 de febrero de 2017, 21:01
Recato53
Patrocinador del Foro
Última Actividad 19.07.2025 12:10
Posts Posts: 79
Likes enviados Enviados: 72
Likes recibidos Recibidos: 11

Buenas tardes KUK.
Muchisimas gracias por tu interés. He probado la programación que me indicas y no consigo que funcione.

Creo que me he explicado mal. Te cuento otra vez mi problema.

Tengo una DLL que llama a un EXE.
El programa EXE tiene que devolver un valor y desde la DLL recogerlo.

La programación de la DLL
Código COBOL:
  1.     WORKING-STORAGE SECTION.
  2.     01 EXT-VARIABLE PIC X(2).
  3.     PROCEDURE DIVISION.
  4.     PRINCIPAL SECTION.
  5.         INVOKE POW-SELF "ExecuteSync" USING "CONEXION.EXE" POW-SWNORMAL.
  6.         IF EXT-VARIABLE = "SI"
  7.            INVOKE POW-SELF "DisplayMessage" USING "¡Hay conexión!" 64
  8.            ELSE
  9.            INVOKE POW-SELF "DisplayMessage" USING "¡NO hay conexión!" 48
  10.         END-IF

La programación del programa EXE
Código COBOL:
  1.     WORKING-STORAGE SECTION.
  2. *********************************
  3.     01 CONEXION  PIC X(20).
  4.     01 FUNCION   PIC X(24).
  5.     01 RESP      PIC S9(9) COMP-5.
  6. *********************************  
  7.     01 GLB-CMD IS GLOBAL         PIC X(260).
  8.     01 VALOR REDEFINES GLB-CMD GLOBAL.
  9.        05  PTR-VAR POINTER.
  10.        05  PIC X(256).
  11.     LINKAGE SECTION.
  12.     01 EXT-VARIABLE PIC X(2).  
  13.     PROCEDURE DIVISION.
  14.     PRINCIPAL SECTION.
  15.         MOVE "CommandLine" OF POW-SELF TO GLB-CMD
  16.         MOVE "InternetCheckConnectionA" TO FUNCION
  17.         MOVE "http://www.google.es" TO CONEXION
  18.        
  19.         CALL FUNCION WITH STDCALL USING
  20.               by reference CONEXION
  21.               by value 1
  22.               by value 0
  23.               returning RESP
  24.         END-CALL
  25.        
  26.         SET ADDRESS OF EXT-VARIABLE TO PTR-VAR
  27.        
  28.         IF RESP = ZEROS
  29.            MOVE "NO" TO EXT-VARIABLE
  30.            ELSE
  31.            MOVE "SI" TO EXT-VARIABLE
  32.         END-IF.

Cuando ejecuto el programa da un error.
Imágenes Adjuntas
Tipo de Archivo: pdf Doc1.pdf (89,9 KB)Descargas: 153
Recato53 is offline   Responder Con Cita