I am writing a browser program in C++ Builder 6 that loads a web page using the following code:
void __fastcall TForm1::ToolButton1Click(TObject *Sender)
{
wchar_t buff[100];
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED,
"http://www.daniweb.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:
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.