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 > Fujitsu COBOL
Fujitsu COBOL Sub-Foro dedicado a Compiladores e IDE-s de Fujitsu.
Noticias y Avisos
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Información] Leer puerto RS232 desde PowerCobol v9 Jovimabo PowerCOBOL (ActiveX, v4 - v11) 13 18 de octubre de 2016 16:00
[Sintaxis] Capturar Puerto Serial Juanes RM/COBOL 2 19 de julio de 2016 12:03
[Sintaxis] Númerro de serie del Disco Duro Roger PowerCOBOL (ActiveX, v4 - v11) 3 10 de septiembre de 2015 00:04
[Aporte] Obtener numero de serie del Disco Duro (HDD) Hrmcobol Cocina PowerCOBOL 0 17 de abril de 2015 15:59
[Información] Error en dll (DLL does not exist) Josber PowerCOBOL (ActiveX, v4 - v11) 5 18 de febrero de 2015 18:39
Respuesta
 
Herramientas

  #1
Antiguo 28 de julio de 2018, 02:09
IDENTIFICATION DIVISION
drvedia1981
Novato Junior
ENVIRONMENT DIVISION
Avatar de drvedia1981
DATA DIVISION
Forero desde (Registrado)febrero 2017
Argentina
UbicaciónCaba Argentina
Última Actividad11.12.2018 15:07
PROCEDURE DIVISION
PostsPosts: 33
Ha dicho GraciasEnviado: 1
Ha recibido agradecimientosRecibido: 3
Mejores respuestasSoluiones: 1
ReputaciónReputación: 0
drvedia1981 is an unknown quantity at this point
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

Código CPP:
  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. }
drvedia1981 no ha iniciado sesión   Responder Con Cita
  #2
Antiguo 28 de julio de 2018, 22:50
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad15.12.2019 23:04
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

drvedia1981, aquí tienes el ejemplo del primer CALL:

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


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
  #3
Antiguo 30 de julio de 2018, 16:33
IDENTIFICATION DIVISION
drvedia1981
Novato Junior
ENVIRONMENT DIVISION
Avatar de drvedia1981
DATA DIVISION
Forero desde (Registrado)febrero 2017
Argentina
UbicaciónCaba Argentina
Última Actividad11.12.2018 15:07
PROCEDURE DIVISION
PostsPosts: 33
Ha dicho GraciasEnviado: 1
Ha recibido agradecimientosRecibido: 3
Mejores respuestasSoluiones: 1
ReputaciónReputación: 0
drvedia1981 is an unknown quantity at this point
Predeterminado

Hola kuk si tengo el .lib tambien tengo que declarar en el cobol85.cbr ? gracias Saludos.
drvedia1981 no ha iniciado sesión   Responder Con Cita
  #4
Antiguo 30 de julio de 2018, 20:31
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad15.12.2019 23:04
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

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.


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
  #5
Antiguo 31 de julio de 2018, 00:53
IDENTIFICATION DIVISION
drvedia1981
Novato Junior
ENVIRONMENT DIVISION
Avatar de drvedia1981
DATA DIVISION
Forero desde (Registrado)febrero 2017
Argentina
UbicaciónCaba Argentina
Última Actividad11.12.2018 15:07
PROCEDURE DIVISION
PostsPosts: 33
Ha dicho GraciasEnviado: 1
Ha recibido agradecimientosRecibido: 3
Mejores respuestasSoluiones: 1
ReputaciónReputación: 0
drvedia1981 is an unknown quantity at this point
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.
Código:
[MainForm.Entry]
SetDeviceName=ComPort.dll
Copie tu ejemplo y cuando compila aparece este error que podra ser ? Saludos.

Código:
MainForm.obj : error LNK2001: unresolved external symbol _SETDEVICENAME@8
C:\serie232\Debug\Main.exe : fatal error LNK1120: 1 unresolved externals
drvedia1981 no ha iniciado sesión   Responder Con Cita
  #6
Antiguo 31 de julio de 2018, 07:57
IDENTIFICATION DIVISION
Kuk
Administrador
ENVIRONMENT DIVISION
Avatar de Kuk
DATA DIVISION
Forero desde (Registrado)enero 2015
España
UbicaciónMadrid
Edad34 años
Última Actividad15.12.2019 23:04
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

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

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


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


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