Resultados 1 al 6 de 6

Tema: Dll puerto serie

  1. #1
      Junior
    d

    Registrado
    febrero de 2017
    Ubicación
    Caba Argentina
    Mensajes
    66
    Última visita
    11.03.2023

    Agradecimientos
     
    Recibidos
    9
    Enviados
    3

    Citaciones y menciones
     
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    8

    Predeterminado Dll puerto serie

    Hola tengo para probar una dll de manejo de puertos serie baje la .dll y .lib alguin me ayuda a pasar el ejemplo en C a power cobol v7 muchas gracias Saludos

    Codigo en C ejemplo de la dll

    CPP Código:
    1. void *comPort = ComPortCreate();
    2.    
    3.     SetDeviceName(comPort, (PChar)L"COM2");
    4.     SetBaudRate(comPort, br9600);
    5.     SetDataBits(comPort, db8);
    6.     SetStopBits(comPort, sb1);
    7.     SetParity(comPort, paNone);
    8.     Open(comPort);
    9.  
    10.     WriteAnsiString(comPort, "Hello!\n");
    11.  
    12.     Sleep(3000);
    13.  
    14.     while (InputCount(comPort) > 0)
    15.         putchar(ReadAnsiChar(comPort));
    16.  
    17.     Close(comPort);
    18.     ComPortDestroy(comPort);
    19.     return 0;
    20. }

    0 Not allowed!

  2. #2
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,286
    Última visita
    Ayer a las 18:48

    Agradecimientos
     
    Recibidos
    1,036
    Enviados
    888

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

    Predeterminado

    @drvedia1981, aquí tienes el ejemplo del primer CALL:

    COBOL Código:
    1.  WORKING-STORAGE SECTION.
    2.  01  PTR-comPort                         POINTER.
    3.  01  PTR-comPort-N REDEFINES PTR-comPort PIC S9(9) COMP-5.
    4.  
    5.  PROCEDURE DIVISION.
    6.  
    7.      CALL "SetDeviceName" WITH STDCALL USING BY REFERENCE PTR-comPort-N
    8.                                              BY CONTENT "COM2"
    9.      
    10.      
    No te olvides de mapear las funciones en COBOL85.CBR: [Aporte] CALL de cualquier DLL sin *.LIB ni "LoadLibrary" - COBOL Foro

    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.

  3. #3
      Junior
    d

    Registrado
    febrero de 2017
    Ubicación
    Caba Argentina
    Mensajes
    66
    Última visita
    11.03.2023

    Agradecimientos
     
    Recibidos
    9
    Enviados
    3

    Citaciones y menciones
     
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    8

    Predeterminado

    Hola kuk si tengo el .lib tambien tengo que declarar en el cobol85.cbr ? gracias Saludos.

    0 Not allowed!

  4. #4
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,286
    Última visita
    Ayer a las 18:48

    Agradecimientos
     
    Recibidos
    1,036
    Enviados
    888

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

    Predeterminado

    @drvedia1981, no si tienes una LIB no es necesario.

    Entonces lo que querías era un ejemplo de cómo llamar las funciones de esa DLL. El ejemplo que te puse es el que necesitas.

    Lo único, no líes con los BY VALUE, BY REFERENCE y BY CONTENT.

    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.

  5. #5
      Junior
    d

    Registrado
    febrero de 2017
    Ubicación
    Caba Argentina
    Mensajes
    66
    Última visita
    11.03.2023

    Agradecimientos
     
    Recibidos
    9
    Enviados
    3

    Citaciones y menciones
     
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    0 Post(s)
    Poder de Reputación
    8

    Predeterminado

    Hola Kuk gracias por la respuesta puse como me dijiste en la primer respuesta con solo el .dll y los datos en COBOL85 y la dll en el mismo directorio.
    CODE Código:
    1. [MainForm.Entry]
    2. SetDeviceName=ComPort.dll

    Copie tu ejemplo y cuando compila aparece este error que podra ser ? Saludos.

    CODE Código:
    1. MainForm.obj : error LNK2001: unresolved external symbol _SETDEVICENAME@8
    2. C:\serie232\Debug\Main.exe : fatal error LNK1120: 1 unresolved externals

    0 Not allowed!

  6. #6
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,286
    Última visita
    Ayer a las 18:48

    Agradecimientos
     
    Recibidos
    1,036
    Enviados
    888

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

    Predeterminado

    @drvedia1981, como pone en el ejemplo, tienes que hacer CALL dinámico. Es decir, meter el nombre de la función en una varibale.

    COBOL Código:
    1.      MOVE "InvalidateRect" TO FUNC
    2.      
    3.      CALL FUNC WITH STDCALL USING ...

    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.

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] Leer puerto RS232 desde PowerCobol v9
    Por Jovimabo en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 13
    Último Mensaje: 18.10.2016, 16:00
  2. [Sintaxis] Capturar Puerto Serial
    Por Juanes en el foro RM/COBOL
    Respuestas: 2
    Último Mensaje: 19.07.2016, 12:03
  3. [Sintaxis] Númerro de serie del Disco Duro
    Por Roger en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 3
    Último Mensaje: 10.09.2015, 00:04
  4. [Aporte] Obtener numero de serie del Disco Duro (HDD)
    Por Hrmcobol en el foro Cocina PowerCOBOL
    Respuestas: 0
    Último Mensaje: 17.04.2015, 15:59
  5. [Información] Error en dll (DLL does not exist)
    Por Josber en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 5
    Último Mensaje: 18.02.2015, 18:39

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
  •