elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Quiero saber si es posible transformas estas clases en dll y importarla
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Quiero saber si es posible transformas estas clases en dll y importarla  (Leído 1,382 veces)
Meta


Desconectado Desconectado

Mensajes: 3.439



Ver Perfil WWW
Quiero saber si es posible transformas estas clases en dll y importarla
« en: 10 Junio 2019, 21:04 pm »

Hola:

Quiero saber si estas clases se puede transformar por llamarlo de alguna manera en una librería dll y que se pueda llamar y usarla en cualquier interfaz como C#, C++ .net y V b .net.

Por ejemplo, estas clases controla el puerto serie que puedes descargar aquí.

https://github.com/Gmatarrubia/LibreriasTutoriales

He aprovechado en su tiempo hacer un tutorial sobre esas clases creando una interfaz en C++ bajo Win32 solo consola y funciona, junto con Arduino. Aquí abajo dejo el enlace de como instalarlas y usarlas.

https://www.slideshare.net/Metaconta2/arduino-c-y-puerto-serie

Probando, hice otro tutorial solo crear una dll que muestra texto y una suma en el cual lo importas a C#, lo lee y funciona tal como indica en el enlace de abajo.

https://www.slideshare.net/Metaconta/crear-una-dll-en-c-y-llamarla-con-la-interfaz-c

Dada ya esta información y antes de empezar, quiero saber si lo que quiero hacer es posible.

Para dejarlo más claro, al crear la dll en C++ win32 como indica en el tutorial de arriba, al llamarlo o importarlo con C#, tiene que ser capaz de hacerlo cambiando valores como port, baudios, paridad, bits de stop y demás, algo similar indicado aquí.



Luego enviar comandos al puerto serie y recibirlos ya explicado arriba.

En resumen
:


1. De las clases del puerto serie convertirlas en una dll.

2. Una vez creada la dll, hacer una interfaz que se pueda configurar los parámetros del puerto serie.

3. Usar el puerto serie, enviado y recibiendo tramas de bytes como indica en este tutorial ya dicho.

¿Alguna idea?

Saludos.


En línea

RayR

Desconectado Desconectado

Mensajes: 239


Ver Perfil
Re: Quiero saber si es posible transformas estas clases en dll y importarla
« Respuesta #1 en: 11 Junio 2019, 01:00 am »

Sólo lo vi por encima, pero no hay nada ahí que impida o dificulte convertirlo a dll. Los puntos a tener en cuenta son los de siempre con las dll: si quieres que sea posible acceder desde programas creados con otros compiladores/lenguajes, como es tu caso, no puedes exportar clases ni funciones miembro; las funciones a exportar deberán tener el modificador extern "C"; etc.

La clase Serial en su constructor recibe como parámetro el nombre del puerto, pero el resto de la configuración la hace con valores fijos (dcbSerialParams.BaudRate=CBR_9600;
dcbSerialParams.ByteSize=8;). Puedes cambiar ese constructor para que acepte el resto de parámetros y los configure. Y creas y exportas una función con la misma cantidad de parámetos que se encargue de crear el objeto pasándole esos parámetros al constructor. Lo mismo para poder enviar y recibir datos, deberás crear y exportar funciones que llamen y le pasen los parámetros a ReadData y WriteData.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines