Página 1 de 3 1 2 3 ÚltimoÚltimo
Resultados 1 al 10 de 21

Tema: CALL de cualquier DLL sin *.LIB ni "LoadLibrary"

  1. #1
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,088
    Última visita
    Ayer a las 15:47

    Agradecimientos
     
    Recibidos
    908
    Enviados
    784

    Citaciones y menciones
     
    Mentioned
    40 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    12 Post(s)
    Poder de Reputación
    10

    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:

    CODE Código:
    1. [MainForm.Entry]
    2. FtpConnect=FTP.dll
    3. FtpDisconnect=FTP.dll
    4. LogIn=Protocol.dll
    5. InvalidateRect=User32.dll

    En el código debemos llamar estas funciones en dinámico, es decir por variable:

    COBOL Código:
    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!!!

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  2. #2
      Guardián del Foro
    H

    Registrado
    febrero de 2015
    Ubicación
    Puerto Madryn
    Edad
    70
    Mensajes
    328
    Última visita
    09.11.2022

    Agradecimientos
     
    Recibidos
    122
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Guardián del Foro / Point Value: 0

    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.

    0 Not allowed!

  3. #3
      Super Moderador
    Avatar de Josber

    Registrado
    febrero de 2015
    Ubicación
    Alicante
    Mensajes
    694
    Última visita
    Hoy a las 14:14

    Agradecimientos
     
    Recibidos
    385
    Enviados
    314

    Citaciones y menciones
     
    Mentioned
    33 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    6 Post(s)
    Poder de Reputación
    35
    Activista del Foro / Point Value: 0 Agradecimientos / Point Value: 0

    Predeterminado

    Cita Iniciado por 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.-

    0 Not allowed!

  4. #4
      Guardián del Foro
    H

    Registrado
    febrero de 2015
    Ubicación
    Puerto Madryn
    Edad
    70
    Mensajes
    328
    Última visita
    09.11.2022

    Agradecimientos
     
    Recibidos
    122
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Guardián del Foro / Point Value: 0

    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

    0 Not allowed!

  5. #5
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,088
    Última visita
    Ayer a las 15:47

    Agradecimientos
     
    Recibidos
    908
    Enviados
    784

    Citaciones y menciones
     
    Mentioned
    40 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    12 Post(s)
    Poder de Reputación
    10

    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):

    CODE Código:
    1. [MainForm.Entry]
    2. mluser=MLUSER32.DLL

    En el Form que llama la DLL pones:

    COBOL Código:
    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

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  6. #6
      Guardián del Foro
    H

    Registrado
    febrero de 2015
    Ubicación
    Puerto Madryn
    Edad
    70
    Mensajes
    328
    Última visita
    09.11.2022

    Agradecimientos
     
    Recibidos
    122
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Guardián del Foro / Point Value: 0

    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
    Ficheros adjuntos Ficheros adjuntos

    0 Not allowed!

  7. #7
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,088
    Última visita
    Ayer a las 15:47

    Agradecimientos
     
    Recibidos
    908
    Enviados
    784

    Citaciones y menciones
     
    Mentioned
    40 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    12 Post(s)
    Poder de Reputación
    10

    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...

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  8. #8
      Guardián del Foro
    H

    Registrado
    febrero de 2015
    Ubicación
    Puerto Madryn
    Edad
    70
    Mensajes
    328
    Última visita
    09.11.2022

    Agradecimientos
     
    Recibidos
    122
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Guardián del Foro / Point Value: 0

    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

    0 Not allowed!

  9. #9
      Guardián del Foro
    H

    Registrado
    febrero de 2015
    Ubicación
    Puerto Madryn
    Edad
    70
    Mensajes
    328
    Última visita
    09.11.2022

    Agradecimientos
     
    Recibidos
    122
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    19
    Guardián del Foro / Point Value: 0

    Predeterminado

    PROBLEMA RESUELTO !! !! !!!

    GRACIAS KUK POR EL POST !!!

    0 Not allowed!

  10. #10
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    37
    Mensajes
    2,088
    Última visita
    Ayer a las 15:47

    Agradecimientos
     
    Recibidos
    908
    Enviados
    784

    Citaciones y menciones
     
    Mentioned
    40 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    12 Post(s)
    Poder de Reputación
    10

    Predeterminado

    Cita Iniciado por Hrmcobol Ver Mensaje
    resolví a medias el tema
    Dinos la resolución completa, por si alguien tiene el mismo problema.

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

Página 1 de 3 1 2 3 ÚltimoÚltimo

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Información] Enviar aviso "Sin conexion a internet"
    Por Gatomalo en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 11
    Último Mensaje: 26.10.2020, 16:19
  2. "Aquí no hay quién viva" cumple 15 años
    Por Kuk en el foro Espacio "Offtop"
    Respuestas: 0
    Último Mensaje: 08.03.2018, 11:36
  3. [Sintaxis] Error MOVE "Parent" de un nodo "Root" en TreeView
    Por dmosca en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 1
    Último Mensaje: 23.08.2017, 09:47
  4. [Sintaxis] Obtener la propiedad "Name" del Form en ejecución
    Por Fito en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 4
    Último Mensaje: 19.07.2016, 01:47
  5. [Sintaxis] Imprimir PDF desde DOS (CALL "SYSTEM")
    Por Roger en el foro RM/COBOL
    Respuestas: 1
    Último Mensaje: 01.07.2016, 17:40

Etiquetas para este Tema

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •