Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

cannot convert parameter 1 from 'const char [18]' to 'LPCTSTR'

32K
21 октября 2008 года
lexus05
27 / / 02.10.2008
Привет всем,

Делаю по книжке первый Browser на Visual Studio 2005, сделал все как в книге,

Создал variable m_browser,

при запуске, выдает ошибку в коде:

 
Код:
void CbrowserDlg::OnBnClickedButtonbr()
{
    // TODO: Add your control notification handler code here
    m_browser.Navigate("www.microsoft.com", 0, 0, 0, 0);
}


[COLOR="Red"]Ошибка: error C2664: 'CExplorer1::Navigate' : cannot convert parameter 1 from 'const char [18]' to 'LPCTSTR'[/COLOR]
288
21 октября 2008 года
nikitozz
1.2K / / 09.03.2007
А если так

 
Код:
void CbrowserDlg::OnBnClickedButtonbr()
{
    // TODO: Add your control notification handler code here
           char szAdr[128] = "www.microsoft.com\0";
    m_browser.Navigate((LPCTSTR)szAdr, 0, 0, 0, 0);
}
32K
21 октября 2008 года
lexus05
27 / / 02.10.2008
не помогло...

[COLOR="Red"]Error 1 error LNK2001: unresolved external symbol "public: void __thiscall CbrowserDlg::OnBnDoubleclickedButton1(void)" (?OnBnDoubleclickedButton1@CbrowserDlg@@QAEXXZ) browserDlg.obj [/COLOR]
288
21 октября 2008 года
nikitozz
1.2K / / 09.03.2007
Цитата: lexus05
не помогло...

[COLOR="Red"]Error 1 error LNK2001: unresolved external symbol "public: void __thiscall CbrowserDlg::OnBnDoubleclickedButton1(void)" (?OnBnDoubleclickedButton1@CbrowserDlg@@QAEXXZ) browserDlg.obj [/COLOR]



Помогло. Просто теперь у вас нет реализации функции

 
Код:
CbrowserDlg::OnBnDoubleclickedButton1(void)
32K
21 октября 2008 года
lexus05
27 / / 02.10.2008
Сделал, заработало. Только почему в броузере, в место сайта, китайские иероглифы?

http://forum.codenet.ru/attachment.php?attachmentid=3083&stc=1&d=1224576851
240
21 октября 2008 года
aks
2.5K / / 14.07.2006
Потому что скорее всего LPCTSTR разворачивается в const wchar_t * а не в const char *
Вот и пишете туда иероглифы. Посмотрите, что означает дефайн LPCTSTR.
14
21 октября 2008 года
Phodopus
3.3K / / 19.06.2008
Не правильней ли будет написать:
 
Код:
m_browser.Navigate(_T("www.microsoft.com"), 0, 0, 0, 0);

?
240
21 октября 2008 года
aks
2.5K / / 14.07.2006
Если определить должным образом макрос _T (или подключить хедер где он определен), то правильней конечно. )
32K
21 октября 2008 года
lexus05
27 / / 02.10.2008
Спасибо, теперь все ок! ))))
14
21 октября 2008 года
Phodopus
3.3K / / 19.06.2008
Цитата: aks
Если определить должным образом макрос _T (или подключить хедер где он определен), то правильней конечно. )


Если не ошибаюсь в Visual C++ он по дефолту подключен

240
21 октября 2008 года
aks
2.5K / / 14.07.2006
Кем и куда? =)
14
21 октября 2008 года
Phodopus
3.3K / / 19.06.2008
Студией к каждому новому проекту =)
288
21 октября 2008 года
nikitozz
1.2K / / 09.03.2007
В большистве создаваемых проектов <tchar.h> автоматически включается средой в stdafx.h.
240
21 октября 2008 года
aks
2.5K / / 14.07.2006
Цитата: Phodopus
Студией к каждому новому проекту =)


Нет. =)

44K
03 ноября 2008 года
alex2286
1 / / 03.11.2008
Все дело в настройках проекта. Это можно исправить.
Project->Properties->General-> [COLOR="Red"]Character Set[/COLOR] нужно выставить в [COLOR="SeaGreen"]Not Set.[/COLOR] Тогда можно будет использовать в коде строки в проекте не объявляя для них переменных.
Если этого не сделать, то получается, что ты предаешь в качестве параметра массив символов ([COLOR="Red"]const char [18][/COLOR]), а по правилам там должен быть адрес строки([COLOR="Red"]'LPCTSTR'[/COLOR]).
Надеюсь поможет:)
3
03 ноября 2008 года
Green
4.8K / / 20.01.2000
Цитата: alex2286

Все дело в настройках проекта. Это можно исправить.
Project->Properties->General-> [COLOR="Red"]Character Set[/COLOR] нужно выставить в [COLOR="SeaGreen"]Not Set.[/COLOR] Тогда можно будет использовать в коде строки в проекте не объявляя для них переменных.
Если этого не сделать, то получается, что ты предаешь в качестве параметра массив символов ([COLOR="Red"]const char [18][/COLOR]), а по правилам там должен быть адрес строки([COLOR="Red"]'LPCTSTR'[/COLOR]).
Надеюсь поможет:)


Ты говоришь глупость.
Рекомендую разобраться сначала самому с "Character Set", прежде чем постить такие "советы".

26K
09 ноября 2008 года
CyBOSSeR
32 / / 07.05.2008
lexus05,
По какой книжке пишете? Хотелось бы тоже почитать.
49K
20 июня 2009 года
Dm1try
4 / / 20.06.2009
Тоже пишу браузер, возникла проблема: если на сайте несколько фрэймов, а я хочу загрузить новую страницу только в один из них к примеру в основной, то как правильно указать параметр TargetFrameName функции navigate.

Из msdn'а (http://msdn.microsoft.com/en-us/library/aa752093(VS.85).aspx) синтаксис этой функции таков:

object.Navigate( _
url As String, _
[Flags As Variant,] _
[TargetFrameName As Variant,] _
[PostData As Variant,] _
[Headers As Variant])

И описание параметра:

"TargetFrameName
Optional. A case-sensitive string expression that evaluates to the name of the frame in which to display the resource. The possible values for this parameter are.

_blank
Load the link into a new unnamed window.
_parent
Load the link into the immediate parent of the document the link is in.
_self
Load the link into the same window the link was clicked in.
_top
Load the link into the full body of the current window.
WindowName
A named HTML frame. If no frame or window exists that matches the specified target name, a new window is opened for the specified link."

К примеру, если взять возможное значение _top то как выглядит синтаксис функции?

Как я не пробовал не получается.
Например:

void CAIv2Dlg::OnBnClickedOk()
{
// TODO: Add your control notification handler code here
m_browser.Navigate(_T("http://www.microsoft.com"),0,_T("_top"),0,0);
}

Выдает ошибку error C2664: 'CExplorer1::Navigate' : cannot convert parameter 3 from 'const wchar_t [5]' to 'VARIANT *'

Смотрел описание этого типа - ничего не понял( Помогите кто нибудь.....
49K
20 июня 2009 года
Dm1try
4 / / 20.06.2009
нашел решение проблемы
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог