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
    Edad
    37
    Mensajes
    2,011
    Ciudad
    Madrid

    Agradecimientos
     
    Recibidos
    862
    Enviados
    720

    Citaciones y menciones
     
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 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:

    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:

    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 editor al botón y escribiendo su nick.

  2. #2
      Guardián del Foro
    H

    Registrado
    febrero de 2015
    Edad
    70
    Mensajes
    327
    Ciudad
    Puerto Madryn

    Agradecimientos
     
    Recibidos
    118
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    0 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
    Mensajes
    641
    Ciudad
    Alicante

    Agradecimientos
     
    Recibidos
    338
    Enviados
    298

    Citaciones y menciones
     
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    3 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
    Edad
    70
    Mensajes
    327
    Ciudad
    Puerto Madryn

    Agradecimientos
     
    Recibidos
    118
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    0 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
    Edad
    37
    Mensajes
    2,011
    Ciudad
    Madrid

    Agradecimientos
     
    Recibidos
    862
    Enviados
    720

    Citaciones y menciones
     
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 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):

    Código:
    [MainForm.Entry]
    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 editor al botón y escribiendo su nick.

  6. #6
      Guardián del Foro
    H

    Registrado
    febrero de 2015
    Edad
    70
    Mensajes
    327
    Ciudad
    Puerto Madryn

    Agradecimientos
     
    Recibidos
    118
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    0 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
    Edad
    37
    Mensajes
    2,011
    Ciudad
    Madrid

    Agradecimientos
     
    Recibidos
    862
    Enviados
    720

    Citaciones y menciones
     
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 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 editor al botón y escribiendo su nick.

  8. #8
      Guardián del Foro
    H

    Registrado
    febrero de 2015
    Edad
    70
    Mensajes
    327
    Ciudad
    Puerto Madryn

    Agradecimientos
     
    Recibidos
    118
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    0 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
    Edad
    70
    Mensajes
    327
    Ciudad
    Puerto Madryn

    Agradecimientos
     
    Recibidos
    118
    Enviados
    107

    Citaciones y menciones
     
    Mentioned
    0 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
    Edad
    37
    Mensajes
    2,011
    Ciudad
    Madrid

    Agradecimientos
     
    Recibidos
    862
    Enviados
    720

    Citaciones y menciones
     
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    5 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 editor al botón 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, 15: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, 10: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, 08: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, 00:47
  5. [Sintaxis] Imprimir PDF desde DOS (CALL "SYSTEM")
    Por Roger en el foro RM/COBOL
    Respuestas: 1
    Último Mensaje: 01.07.2016, 16:40

User Tag List

Etiquetas para este Tema

Permisos de Publicación

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