Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.02.2007, 17:19   #1
lexluther
Пользователь
 
Регистрация: 29.11.2006
Сообщений: 24
По умолчанию Одно создаваемое в 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 и иже с ним.
С уважением.
lexluther вне форума Ответить с цитированием
Старый 21.02.2007, 20:28   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

попробуй передавать хендл мемки основной программе, а в основной программе используй SetWindowText
rpy3uH вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одно без другого Принц Свободное общение 2 30.05.2008 22:50
В среде Delphi составить программу (процесс), который паралельно запускает два потока (нити) metamfetamin Помощь студентам 9 06.11.2007 15:26
программа, которая выводит на экран одно из данных слов vados Паскаль, Turbo Pascal, PascalABC.NET 11 26.10.2007 23:47
Билл Гейтс и Internet Explorer. Одно или разное? IgorKr Свободное общение 3 07.02.2007 22:43