Ошибка C++Builder 12 в динамическом назначении события OnDocumentComplete для TCppWebBrowserC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Ошибка C++Builder 12 в динамическом назначении события OnDocumentComplete для TCppWebBrowser

Сообщение Anonymous »

Я использую C++Builder начиная с версии 1.0 (1994 г.). Я использовал его до версии 2010. Недавно мы получили последнюю версию IDE «Embarcadero® C++Builder 12, версия 29.0.50491.5718».
Я динамически создавал множество объектов в прошлое без проблем, но теперь я хочу обновить старый проект и получаю ошибку, которую не могу исправить.
Я пытаюсь создать TCppWebBrowser динамически (с использованием IDE работает отлично).
Мой код в основном такой:

Код: Выделить всё

void __fastcall TFormAdmin::CppWebBrowser1DocumentComplete(TObject *Sender, LPDISPATCH pDisp,
Variant *URL)
{
//Here the event code
}
А в другой части кода — динамическое создание объекта:

Код: Выделить всё

TCppWebBrowser *CppWebBrowser1;
CppWebBrowser1=new TCppWebBrowser(this);
CppWebBrowser1->TOleControl::Parent = this;
CppWebBrowser1->OnDocumentComplete = CppWebBrowser1DocumentComplete;
Я получаю сообщение об ошибке в этой строке:

Код: Выделить всё

CppWebBrowser1->OnDocumentComplete = CppWebBrowser1DocumentComplete;
[Ошибка bcc32] admin.cpp(78): E2034 Невозможно преобразовать 'void (_fastcall * (_closure )(TObject *,IDispatch *,Variant *) )(TObject *,IDispatch *,Variant *)' в 'TCppWebBrowserDocumentComplete'

Когда я использую этот код с помощью IDE (создание и назначение объекта и событие во время разработки), он работает отлично.
Прототип функции:

Код: Выделить всё

typedef void __fastcall (__closure * TCppWebBrowserDocumentComplete)(System::TObject * Sender,LPDISPATCH pDisp,VARIANT* URL);
Параметры те же, тип тот же.
Я не знаю, что делать. Я не понимаю, почему это работает во время разработки, но не программно.

Подробнее здесь: https://stackoverflow.com/questions/787 ... -tcppwebbr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»