Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: События в управляемом и неуправляемом проекте.  (Прочитано 11995 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Zibir
Гость
« : 24-04-2007 10:13 » 

Здравствуйте! У меня в решении используется 2 проекта в Visual C++ 7.1. Один чисто Си++ (раньше был на VC++ 6.0), другой Си++ .НЕТ. Второй (управляемый) используется для интерфейса. После закрытия окна необходимо передать событие или какой либо знак подать, что окно закрыто, в другую часть программы. Можно ли как-то используя событии сделать это или может существуют другие способы Не понял
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 24-04-2007 10:25 » 

Мало подробностей. Пока можно посоветовать использовать SendMessage (используя PInvoke) из проекта .НЕТ.
« Последнее редактирование: 24-04-2007 10:27 от nikedeforest » Записан

ещё один вопрос ...
Zibir
Гость
« Ответ #2 : 24-04-2007 11:13 » 

Код:
if (pForm->ShowDialog() == System::Windows::Forms::DialogResult::Cancel)
{
  // здесь нужен код, который позволит передать в первый проект известие о том, что что-то произошло, желательно событие
}
А может использовать какую-то callback функцию?
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 24-04-2007 11:20 » 

Блин, опиши подробнее свои проекты. Что это за проекты? На .НЕТ сборка, котора подключает к себе ДЛЛ, написанную на С++ или что?
Записан

ещё один вопрос ...
Zibir
Гость
« Ответ #4 : 24-04-2007 11:27 » 

Сам проект неуправляемый, обычный Си++. Интерфейс к нему подключается ввиде dll. Проект интерфейса управляемый под .NET.
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 24-04-2007 11:44 » 

Ты используешь СОМ/ОЛЕ?
Записан

ещё один вопрос ...
Zibir
Гость
« Ответ #6 : 24-04-2007 11:51 » 

Нет.
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #7 : 24-04-2007 12:36 » 

Я просто чего тебя пытаю-то. Я как-то не пробовал никогда, но слышал мнение, что в неуправляемом коде длл, написанную на .НЕТ, не заюзаешь без СОМ, потому как типа это не такая длл, как на С++. Но смотрю у тебя получилось. Т.е. ты просто подгружаешь библиотеку статически или динамически и вызываешь ее функции? Так что ли?
Записан

ещё один вопрос ...
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 24-04-2007 12:40 » 

Цитата
// здесь нужен код, который позволит передать в первый проект известие о том, что что-то произошло, желательно событие
ИМХО, не поймет неуправляемый код событий .НЕТ, он поймет только сообщени Windows. Т.е. тут как не крути сообщение надо посылать.
Записан

ещё один вопрос ...
Zibir
Гость
« Ответ #9 : 24-04-2007 13:03 » 

Да в принципе у меня получилось как-то. Вроде пока всё работает. Я сделал callback функцию, которая передаётся в управляемый проект (dll) через экспортируемую функцию, и затем после закрытия окна она вызывается в классе окна (форме) и выполняется уже в основном проекте. Пока вроде что работает.
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #10 : 24-04-2007 13:21 » 

Чума блин Улыбаюсь
Записан

ещё один вопрос ...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines