Форум сетевых администраторов
Показаны 1 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- C/C++ (http://netadmin.ws/forum/forumdisplay.php?forumid=8)
-- Одно создаваемое в Dll и используемое паралельно с консолью не перерисовывается. Как? (http://netadmin.ws/forum/showthread.php?threadid=12543)


Помещено CubeReality 21-02-2007 в 15:20:

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

Всем привет,

Есть библиотека на 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 и иже с ним.

С уважением.


Формат времени GMT. Текущее время 06:37.
Показаны 1 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.