Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Cocina Casera Cocina PowerCOBOL
Cocina PowerCOBOL Rutinas y ejemplos codificados por nuestros foreros.
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Sintaxis] Ejecutar un archivo *.exe sin CALL "SYSTEM" mhnico RM/COBOL 5 12 de junio de 2021 12:09
[Duda] Enviar aviso "Sin conexion a internet" Gatomalo PowerCOBOL (ActiveX, v4 - v11) 11 26 de octubre de 2020 15:19
[Duda] Call "CFURCOV" System error occurred. code = 0x25 dmosca PowerCOBOL (ActiveX, v4 - v11) 19 6 de agosto de 2019 15:29
[Sintaxis] Error MOVE "Parent" de un nodo "Root" en TreeView dmosca PowerCOBOL (ActiveX, v4 - v11) 1 23 de agosto de 2017 08:47
[Sintaxis] Imprimir PDF desde DOS (CALL "SYSTEM") Roger RM/COBOL 1 1 de julio de 2016 16:40

Respuesta

  #1
Antiguo 25 de agosto de 2015, 20:49
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207
GUI CALL de cualquier DLL sin *.LIB ni "LoadLibrary"
3 Inactivo Inactivo

Amigos, he descubierto esto para el PowerCOBOL v3 y funciona en la version 9 tambien!!!

Cuando queremos llamar una DLL y no tenemos la LIB, simplemente hay que:
  1. Crear un fichero de texto y llamarlo COBOL85.CBR
  2. Dentro escribir el nombre del Form desde el que se va a llamar y .ENTRY
  3. Nombres de las funciones = los nombres de las DLL-s correspondientes

Por ejemplo:

Código:
[MainForm.Entry]
FtpConnect=FTP.dll
FtpDisconnect=FTP.dll
LogIn=Protocol.dll
InvalidateRect=User32.dll
En el código debemos llamar estas funciones en dinámico, es decir por variable:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  FUNC  PIC X(20).
  5.  01  hWnd  PIC S9(9) COMP-5.
  6.  PROCEDURE       DIVISION.
  7.      
  8.      MOVE "hwnd" OF POW-SELF TO hWnd
  9.      MOVE "InvalidateRect" TO FUNC
  10.      
  11.      CALL FUNC WITH STDCALL USING BY VALUE hWnd
  12.                                   BY VALUE 0
  13.                                   BY VALUE 1
  14.          

¡¡¡Listo!!!



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 30 de junio de 2016, 21:12
Hrmcobol
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por implicación en la vida del Foro 
Última Actividad 01.03.2022 02:59
Posts Posts: 323
Likes enviados Enviados: 102
Likes recibidos Recibidos: 120

Genial Kuk, voy a probarlo y te cuento.

Resulta que yo puse en el buscador del foro el texto "DLL" y no me trajo ningún tema,
supongo que estaré buscando mal.
Hrmcobol is offline   Responder Con Cita
  #3
Antiguo 1 de julio de 2016, 08:07
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Citación del post de Hrmcobol Ver Mensaje
Resulta que yo puse en el buscador del foro el texto "DLL" y no me trajo ningún tema,
supongo que estaré buscando mal.
Las búsquedas en el foro, han de tener más de 3 carácteres, de lo contrario no funcionan bien, porque el buscador las "toma" como palabras de uso frecuente, (por ejemplo tipo a los artículos el la los las, etc.

Un saludo.-
Josber is offline   Responder Con Cita
  #4
Antiguo 19 de julio de 2016, 23:17
Hrmcobol
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por implicación en la vida del Foro 
Última Actividad 01.03.2022 02:59
Posts Posts: 323
Likes enviados Enviados: 102
Likes recibidos Recibidos: 120

Estimado Kuk, no doy "pieconbola" la dll se llama MLUSER32.DLL y debo hacer un call a: "mluser" que tiene 5 parámetros numéricos.
Si no te molesta podrías mandarme el código y el cobol85.cbr, ya que no tengo experiencia en este tipo de llamadas.
Saludos
Hrmcobol is offline   Responder Con Cita
  #5
Antiguo 20 de julio de 2016, 08:38
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Hrmcobol, en tu COBOL85.CBR, al final del fichero debe añadir (cambiando MainForm por el nombre del Form que va a llamar la DLL):

Código:
[MainForm.Entry]
mluser=MLUSER32.DLL
En el Form que llama la DLL pones:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4.  01  FUNC  PIC X(20).
  5.  01  NUM1  PIC S9(9) COMP-5.
  6.  01  NUM2  PIC S9(9) COMP-5.
  7.  01  NUM3  PIC S9(9) COMP-5.
  8.  01  NUM4  PIC S9(9) COMP-5.
  9.  PROCEDURE       DIVISION.
  10.          
  11.      MOVE "mluser" TO FUNC
  12.      
  13.      CALL FUNC WITH STDCALL USING BY VALUE NUM1
  14.                                   BY VALUE NUM2
  15.                                   BY VALUE NUM3
  16.                                   BY VALUE NUM4

Debes poner MLUSER32.DLL en el mismo directorio que tu programa PowerCOBOL.

Si no te sale aún, dime más concretamente qué es exactamente lo que no logras hacer



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 26 de julio de 2016, 19:24
Hrmcobol
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por implicación en la vida del Foro 
Última Actividad 01.03.2022 02:59
Posts Posts: 323
Likes enviados Enviados: 102
Likes recibidos Recibidos: 120

Amigo Kuk, te adjunto la DLL La LIB, quiero hacer un call a "mluser", te adjunto un VB por si tu puedes abriro, este vb funciona correctamente, podras mirlo un poco
Saludos
Archivos Adjuntos
Tipo de Archivo: zip PG0090.zip (63,6 KB)Descargas: 228
Hrmcobol is offline   Responder Con Cita
  #7
Antiguo 27 de julio de 2016, 23:14
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Hrmcobol, me pillas más liado que nunca amigo... Voy a mirar si puedo mirarlo la semana que viene, antes no creo que pueda...



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
  #8
Antiguo 29 de julio de 2016, 22:23
Hrmcobol
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por implicación en la vida del Foro 
Última Actividad 01.03.2022 02:59
Posts Posts: 323
Likes enviados Enviados: 102
Likes recibidos Recibidos: 120

Estimado kuk, resolví a medias el tema de la DLL, ya puedo acceder a la misma, el problema era el de siempre, uno mira y no ve, tenia mal escrito los parámetros.
Gracias como siempre.
Los Mantengo al tanto a medida que resuelva todo
Hrmcobol is offline   Responder Con Cita
  #9
Antiguo 30 de julio de 2016, 01:43
Hrmcobol
Guardián del Foro
Guardián del Foro: Guardián del espíritu y clima del Foro - Issue reason: Por implicación en la vida del Foro 
Última Actividad 01.03.2022 02:59
Posts Posts: 323
Likes enviados Enviados: 102
Likes recibidos Recibidos: 120

PROBLEMA RESUELTO !! !! !!!

GRACIAS KUK POR EL POST !!!
Hrmcobol is offline   Responder Con Cita
  #10
Antiguo 1 de agosto de 2016, 23:42
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Citación del post de Hrmcobol Ver Mensaje
resolví a medias el tema
Dinos la resolución completa, por si alguien tiene el mismo problema.



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
Respuesta


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

Saltar a Foro


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