Ver Mensaje Individual
  #2  
Antiguo 27-04-2008
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Este error tuyo, y tras comprobar que sólo aparece con el RemoteModule, me suena a conflicto entre funciones con el mismo nombre sin definir un namespace.

StrToIntA está definida en la libreria shlwapi.h.
Se define como:
Código:
 LWSTDAPI_(int)      StrToIntA(LPCSTR lpSrc); // Recibe un puntero char (char*)
En esa misma librería definen StrToInt como:
Código:
#define StrToInt     StrToIntA
Por otro lado, las VCL definen StrToInt en sysutils.hpp como
Código:
 extern PACKAGE int __fastcall StrToInt(const AnsiString S); // recibe un AnsiString.
Lo que me extraña es que no tengas un error del compilador previo al link. Doble definición...

No se como son los AnsiString que tratas de convertir a enteros, ¿son ansiString o son char*?. Trata de llamar asi a la función, forzando el cast:

Código:
 int n = StrToInt(AnsiString(Cadena));
Otra posible solución es convertir tu AnsiString a char* y usar int atoi(const char*) al estilo del C clásico:

Código:
 int n = atoi(Cadena.c_str());
Finalmente decirte que investigues la necesidad de usar namespaces para utilizar el módulo que te genera el conflicto. Mas no te puedo decir pues nunca he trabajado con él.

Espero haberte servido de alguna ayuda.

Saludos.

Última edición por escafandra fecha: 29-04-2008 a las 01:09:15.
Responder Con Cita