![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Пишу как всегда либу обертку для C-х функций на C++/CLI. Есть старая функция которой передается адресс callback функции. Как мне передать туда адресс managed функции?
При тупой передаче получаю предупреждение warning C4441: calling convention of '__stdcall ' ignored; '__clrcall ' used instead ну а там где осуществляется передача ошибку error C3374: can't take address of 'MyClass::MyCallbackFunction' unless creating delegate instance. Какие есть решения проблемы? Заранее благодарен. |
|||
|
||||
_hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 2 Всего: 98 |
ну так русским же языком пишут -- делегат давай.
ты бы доки какие-нить почитал бы... http://www.codeproject.com/KB/mcpp/usingcppdll.aspx -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Спасибо всем. http://msdn.microsoft.com/en-us/library/367eeye0(VS.80).aspx решила все мои проблемы.
|
|||
|
||||
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Это конечно решило проблемы, но как мне передать через callback параметр void* inUserData указатель на managed класс?
|
|||
|
||||
Therion |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Еще одна проблема. Адресс Callback функции передается функции MyOldCFunction которая его запоминает и время от времени дергает, но програма крешится из за того что адресс ProcessResponses функции меняется. Можно как-то запинить адресс делегата?
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |