Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Одно создаваемое в DLL и используемое паралельно с консолью не перерисовывается. Как исправить?

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Одно создаваемое в DLL и используемое паралельно с консолью не перерисовывается. Как исправить?
Имя
Сообщение << Старые топики   Новые топики >>
Одно создаваемое в DLL и используемое паралельно с консолью не перерисовывается. Как исправить? - 2007-02-21 17:21:02.343333   
lexluther

Сообщений: 25
Оценки: 0
Присоединился: 2004-11-05 09:29:57

Всем привет,
Есть библиотека на C++ под Delphi 2006. Замысел этой библитеки создать одно и предоставить возможность программе подключившей эту библиотеку выводить в поле Memo определенные сообщения (типа как отчет о выполнении) используя функцию SetMessage (идет ниже).
extern "C" __declspec(dllexport) void CreateDebugWindow(char* name, unsigned int index)
{
 DebugWindowForm=new TDebugWindowForm(NULL);
 DebugWindowForm->Caption=name;
 DebugWindowForm->Show();
}
extern "C" __declspec(dllexport) void SetMessage(char* message, unsigned int index)
{
 if(DebugWindowForm->DebugMemo->Text.Length()>MAX_CONTENT_SIZE)
     DebugWindowForm->DebugMemo->Clear();
 AnsiString MyString(message);
 DebugWindowForm->DebugMemo->Text="HELLO WORLD";
}
extern "C" __declspec(dllexport) void DeleteDebugWindow(unsigned int index)
{
 delete DebugWindowForm;
 
 DebugWindowForm=NULL;
}
Есть консольное приложение под Visual C++ 2005 использующее эту DLL, и посылающее кучу дебаг-сообщений через SetMessage. Проблема в том что консоль то все посылает и DLL все принимает, но окно не перерисовывается. Т.е. не реагирует на стандартные сообщения Windows. Я так понимаю что мне нужен аналог Application-ProcessMassages() (билдеровская функция) но под Visual.
Как мне заставить окно отрисовываться нормально и принимать WM_PAINT и иже с ним.
С уважением.
Post #: 1
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Одно создаваемое в DLL и используемое паралельно с консолью не перерисовывается. Как исправить?







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.