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 > Cocina Casera > Cocina PowerCOBOL
Cocina PowerCOBOL Rutinas y ejemplos codificados por nuestros foreros.
Noticias y Avisos
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
"Aquí no hay quién viva" cumple 15 años Kuk Espacio "Offtop" 0 8 de marzo de 2018 10:36
[Sintaxis] Error MOVE "Parent" de un nodo "Root" en TreeView dmosca PowerCOBOL (ActiveX, v4 - v11) 1 23 de agosto de 2017 08:47
[Información] Enviar aviso "Sin conexion a internet" Gatomalo PowerCOBOL (ActiveX, v4 - v11) 6 1 de febrero de 2017 19:12
[Sintaxis] Obtener la propiedad "Name" del Form en ejecución Fito PowerCOBOL (ActiveX, v4 - v11) 4 19 de julio de 2016 00:47
[Sintaxis] Imprimir PDF desde DOS (CALL "SYSTEM") Roger RM/COBOL 1 1 de julio de 2016 16:40
Respuesta
 
Herramientas

  #1
Antiguo 25 de agosto de 2015, 20:49
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad10.12.2019 14:25
PROCEDURE DIVISION
PostsPosts: 1.428
Ha dicho GraciasEnviado: 319
Ha recibido agradecimientosRecibido: 547
Mejores respuestasSoluiones: 87
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
Form CALL de cualquier DLL sin *.LIB ni "LoadLibrary"

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 - 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
Han dicho Gracias: 3
Adrianeloy (26 de agosto de 2015), Galileo (19 de diciembre de 2015), Jovimabo ( 6 de junio de 2016)
  #2
Antiguo 30 de junio de 2016, 21:12
IDENTIFICATION DIVISION
Hrmcobol
Guardián del Foro
ENVIRONMENT DIVISION
Avatar de Hrmcobol
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónPuerto Madryn
Edad67 años
Última Actividad02.11.2019 01:14
PROCEDURE DIVISION
PostsPosts: 261
Ha dicho GraciasEnviado: 92
Ha recibido agradecimientosRecibido: 83
Mejores respuestasSoluiones: 8
Medallas recibidas: 1Medallas: Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por implicación en la vida del Foro 
ReputaciónReputación: 12
Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light
Predeterminado

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 no ha iniciado sesión   Responder Con Cita
  #3
Antiguo 1 de julio de 2016, 08:07
IDENTIFICATION DIVISION
Josber
Super Moderador
ENVIRONMENT DIVISION
Avatar de Josber
DATA DIVISION
Forero desde (Registrado)febrero 2015
España
UbicaciónAlicante
Última Actividad10.12.2019 10:01
PROCEDURE DIVISION
PostsPosts: 469
Ha dicho GraciasEnviado: 191
Ha recibido agradecimientosRecibido: 205
Mejores respuestasSoluiones: 31
Medallas recibidas: 1Medallas: Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Razón: Por muchos agradecimientos 
ReputaciónReputación: 19
Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road Josber is on a distinguished road
Predeterminado

Cita 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 no ha iniciado sesión   Responder Con Cita
Ha dicho Gracias : 1
Hrmcobol ( 1 de julio de 2016)
  #4
Antiguo 19 de julio de 2016, 23:17
IDENTIFICATION DIVISION
Hrmcobol
Guardián del Foro
ENVIRONMENT DIVISION
Avatar de Hrmcobol
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónPuerto Madryn
Edad67 años
Última Actividad02.11.2019 01:14
PROCEDURE DIVISION
PostsPosts: 261
Ha dicho GraciasEnviado: 92
Ha recibido agradecimientosRecibido: 83
Mejores respuestasSoluiones: 8
Medallas recibidas: 1Medallas: Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por implicación en la vida del Foro 
ReputaciónReputación: 12
Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light
Predeterminado

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 no ha iniciado sesión   Responder Con Cita
  #5
Antiguo 20 de julio de 2016, 08:38
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad10.12.2019 14:25
PROCEDURE DIVISION
PostsPosts: 1.428
Ha dicho GraciasEnviado: 319
Ha recibido agradecimientosRecibido: 547
Mejores respuestasSoluiones: 87
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

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 - 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 26 de julio de 2016, 19:24
IDENTIFICATION DIVISION
Hrmcobol
Guardián del Foro
ENVIRONMENT DIVISION
Avatar de Hrmcobol
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónPuerto Madryn
Edad67 años
Última Actividad02.11.2019 01:14
PROCEDURE DIVISION
PostsPosts: 261
Ha dicho GraciasEnviado: 92
Ha recibido agradecimientosRecibido: 83
Mejores respuestasSoluiones: 8
Medallas recibidas: 1Medallas: Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por implicación en la vida del Foro 
ReputaciónReputación: 12
Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light
Predeterminado

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, 40 descargas)
Hrmcobol no ha iniciado sesión   Responder Con Cita
  #7
Antiguo 27 de julio de 2016, 23:14
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad10.12.2019 14:25
PROCEDURE DIVISION
PostsPosts: 1.428
Ha dicho GraciasEnviado: 319
Ha recibido agradecimientosRecibido: 547
Mejores respuestasSoluiones: 87
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

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 - 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
  #8
Antiguo 29 de julio de 2016, 22:23
IDENTIFICATION DIVISION
Hrmcobol
Guardián del Foro
ENVIRONMENT DIVISION
Avatar de Hrmcobol
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónPuerto Madryn
Edad67 años
Última Actividad02.11.2019 01:14
PROCEDURE DIVISION
PostsPosts: 261
Ha dicho GraciasEnviado: 92
Ha recibido agradecimientosRecibido: 83
Mejores respuestasSoluiones: 8
Medallas recibidas: 1Medallas: Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por implicación en la vida del Foro 
ReputaciónReputación: 12
Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light
Predeterminado

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 no ha iniciado sesión   Responder Con Cita
  #9
Antiguo 30 de julio de 2016, 01:43
IDENTIFICATION DIVISION
Hrmcobol
Guardián del Foro
ENVIRONMENT DIVISION
Avatar de Hrmcobol
DATA DIVISION
Forero desde (Registrado)febrero 2015
Argentina
UbicaciónPuerto Madryn
Edad67 años
Última Actividad02.11.2019 01:14
PROCEDURE DIVISION
PostsPosts: 261
Ha dicho GraciasEnviado: 92
Ha recibido agradecimientosRecibido: 83
Mejores respuestasSoluiones: 8
Medallas recibidas: 1Medallas: Guardián del Foro: Guardián del espíritu y clima del Foro - Razón: Por implicación en la vida del Foro 
ReputaciónReputación: 12
Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light Hrmcobol is a glorious beacon of light
Predeterminado

PROBLEMA RESUELTO !! !! !!!

GRACIAS KUK POR EL POST !!!
Hrmcobol no ha iniciado sesión   Responder Con Cita
  #10
Antiguo 1 de agosto de 2016, 23:42
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad10.12.2019 14:25
PROCEDURE DIVISION
PostsPosts: 1.428
Ha dicho GraciasEnviado: 319
Ha recibido agradecimientosRecibido: 547
Mejores respuestasSoluiones: 87
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

Cita 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 - 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
Respuesta

Tags
call , cobol85.cbr , dll , lib


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 15:35.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2019, Jelsoft Enterprises Ltd.