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.