Visual C++ .NET - Problema con los LPCTSTR

 
Vista:

Problema con los LPCTSTR

Publicado por José Manuel Sánchez (1 intervención) el 02/02/2009 13:57:58
Hola a todos,

Estoy haciendo una aplicación en Visual Studio en la que tengo que leer datos de un puerto serie. Para ello utilizo la libreria TSerial (http://www.tetraedre.com/advanced/serial2.php). Bien, mi problema viene aquí.

La cuestión es que no me deja utilizar esta librería porque dentro hace la llamada a la función de windows.h createFile(....). Bien, esta función admite como primer parámetro un LPCTSTR, que por lo que he leído por ahí no es más que un const char *.

Como parámetro LPCTSTR se le pasa un char *, en concreto "COM1" directamente. La cosa es que el compilador no se lo traga, me dice que no puede convertir un tipo de char * a LPCTSTR. Yo creo que esto no debería dar problemas, pero por lo visto sí.

He probado a hacer un programa de prueba en el Dev-C++ y ese compilador sí lo admite sin problemas, así que no sé qué puede ser.

¿Alguna idea? ¿A alguien le ha pasado algo parecido? ¿Alguien ha tenido problemas utilizando los LPCTSTR de windows.h en Visual Studio?

Gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Problema con LPCTSTR y Serial Port

Publicado por Alejandro (265 intervenciones) el 06/02/2024 21:24:51
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <tserial.h>
 
int main() {
    Tserial *com = 0;
    com = new Tserial();
 
    if (com != 0) {
        if (com->connect("COM1", 9600, spNONE)) {
            std::cout << "Conexión exitosa\n";
 
            // Tu código para leer datos del puerto serie
 
            com->disconnect();
            std::cout << "Desconexión exitosa\n";
        } else {
            std::cerr << "Error al conectar al puerto serie\n";
        }
 
        delete com;
    } else {
        std::cerr << "Error al crear objeto Tserial\n";
    }
 
    return 0;
}

José, en el código anterior, he incluido la librería Tserial y he creado un programa de ejemplo que utiliza esta librería para conectarse al puerto serie COM1 a una velocidad de 9600 baudios. Esta es solo una muestra y puede que necesites ajustar el código según tus necesidades específicas.

Ten en cuenta que las versiones más recientes de Visual Studio pueden generar advertencias de seguridad relacionadas con funciones como `strcpy`, `strcat` y otras funciones consideradas inseguras. En ese caso, puedes utilizar funciones más seguras como `strcpy_s` y `strcat_s`. Además, asegúrate de tener los permisos adecuados para acceder al puerto serie.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar