Участник

Зарегистрирован: Jul 2006
Место проживания: http://artiom.vyrtosu.com
Публикаций: 40
Статус:  |
|
Одно создаваемое в Dll и используемое паралельно с консолью не перерисовывается. Как?
| [сообщение #84568] |
Всем привет,
Есть библиотека на 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 и иже с ним.
С уважением.
Сообщить модератору об этом сообщении | Предупреждение | IP: определен
|