Go4Expert

Go4Expert (http://www.go4expert.com/)
-   C (http://www.go4expert.com/forums/c/)
-   -   Cannot convert 'AnsiString' to 'const char *' (http://www.go4expert.com/forums/convert-ansistring-const-char-t7169/)

codexparse 4Nov2007 06:42

Cannot convert 'AnsiString' to 'const char *'
 
I am writing a browser program in C++ Builder 6 that loads a web page using the following code:

Code:

void __fastcall TForm1::ToolButton1Click(TObject *Sender)
{
    wchar_t buff[100];
    MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
    "http://www.cboard.cprogramming.com", -1, buff, sizeof(buff));
    CppWebBrowser1->Navigate(buff, 0, 0, 0, 0);
}

To include the address bar implementation, I need a temporary string derived from an edit box. This is the code I have tried but receive the error that I cannot convert an AnsiString to const char * and require a type conversion:

Code:

void __fastcall TForm1::ToolButton1Click(TObject *Sender)
{
    const char *tempstring = Edit1->Text;
    wchar_t buff[100];
    MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
    tempstring, -1, buff, sizeof(buff));
    CppWebBrowser1->Navigate(buff, 0, 0, 0, 0);
}

I've tried to decipher how the TStringConverter VCL class works but I have been unsuccesful determining how it works either:

TStringConverter::AnsiToWide

Converts a null-terminated ANSI string to a wide (Unicode) string.
static LPWSTR AnsiToWide(LPCSTR src);

WideToAnsi calls MultiByteToWideChar(), using the ANSI code page, to convert the ANSI string specified by src to a null-terminated string of Unicode characters. The source string may be from a multibyte character set.

Thanks in advance for suggestions anyone might have as to how I can resolve this programming obstacle.


All times are GMT +5.5. The time now is 01:45.