PDA

Ver la Versión Completa : Problema con ShellExecute()


kagua77
16-04-2008, 21:53:05
Ansistring link = "http://www.mapquest.com/maps/";

ShellExecute(NULL,"open",link,NULL,NULL,SW_SHOW);

al utilizar la variable link, por que?

Cannot convert 'AnsiString' to 'const char *'
Type mismatch in parameter 'lpFile' (wanted 'const char *', got 'AnsiString')

Gracias...

cHackAll
16-04-2008, 23:11:39
Problema de tipos de datos, haz lo que te indica el compilador;

char* link = "http://www.mapquest.com/maps/";
ShellExecute(NULL, "open", link, NULL, NULL, SW_SHOW);

ó

ShellExecute(NULL, "open", "http://www.mapquest.com/maps/", NULL, NULL, SW_SHOW);

Saludos

escafandra
17-04-2008, 00:34:36
cHackAll te informa bien. Existe otra forma de solucionar el problema, si es que tienes que usar link como un AnsiString:


Ansistring link = "http://www.mapquest.com/maps/";
ShellExecute(NULL,"open",link.c_str(),NULL,NULL,SW_SHOW);


c_str() devuelve un puntero char* al buffer del AnsiString.

Saludos.

kagua77
17-04-2008, 01:19:00
cHackAll te informa bien. Existe otra forma de solucionar el problema, si es que tienes que usar link como un AnsiString:


Ansistring link = "http://www.mapquest.com/maps/";
ShellExecute(NULL,"open",link.c_str(),NULL,NULL,SW_SHOW);
c_str() devuelve un puntero char* al buffer del AnsiString.

Saludos.


Gracias..., todas las soluciones funcionan a la perfeccion