Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Независимое окно в DLL

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
spiritus
Гость





СообщениеДобавлено: Вс Мар 07 2004 18:02    Заголовок сообщения: Независимое окно в DLL Ответить с цитатой

Как сделать так, чтобы в выполняемой процедуре из DLL бесконечный цикл типа Repeat until true; віполнялся после запуска независимо от запущенного (Основного) приложения.

(т.е. не ждёт когда закончится цикл а продолжает работать).
Вернуться к началу
Jazz
Гость





СообщениеДобавлено: Пн Мар 08 2004 02:22    Заголовок сообщения: Ответить с цитатой

Пусть эта функция создает thread. в котором будет выполняться цикл
вечный while. CreateThread + CtrlF1. Читайте маны, господа! И будете жить вечно в сердцах юзеров!
Вернуться к началу
spiritus
Гость





СообщениеДобавлено: Чт Мар 11 2004 23:32    Заголовок сообщения: Всё о томже Ответить с цитатой

Да в том-то и дело, что создал поток. Поместил в поток вечній цикл.
Это всё запихнул в DLL.
Присоединяю динамически DLL.
Запускаю процедуру из присоединённой DLL. И пока эта процедура не выполнится (поток там внутри, не поток... ) всё остальное отдыхает...

Что в этом случае делать?
Вернуться к началу
Jazz
Гость





СообщениеДобавлено: Пт Мар 12 2004 03:40    Заголовок сообщения: А с этого момента, пожалуйста, поподробнее... Ответить с цитатой

Или объясни подробнее чего ты добиваешься или, еще лучше, выдай основные куски кода (там где создаешь поток, как это выглядит в длл и как вызываешь длл функцию). Ибо дочерний поток не должен зависить от родителя. А если хочешь, залазь в аську. Онлайн инетрактив типа руллл... 307-118-821!
Вернуться к началу
spiritus
Гость





СообщениеДобавлено: Пт Мар 12 2004 22:01    Заголовок сообщения: Всё о томже Ответить с цитатой

Проблема вот в том, что Вы наверное подразумеваете о создании потока в родительском приложении и из потока запускать DLL процедуру.

- Да, это прокатит.

В моём случае получается вот как.

Есть уже откомпиленое приложение. Оно подключает DLL и процедуру в ней.

Запускает процедуру. И вся идея в том, чтобы в эту DLL запихнуть процедуру, которая бы запускалась как обычно, но...

--- при выходе оставляла после себя запущенным окно или какой-
нибудь цикл условно бесконечный (можно это назвать отдельный поток)
(и не тормозила б на точке своего выполнения основную программу)
(одним словом: DLL процедура быстро отработала и создала независимый процесс)
(только не предлагайте из DLL запускать скомпиленный ЕХЕ файл...)
Вернуться к началу
Jazz
Гость





СообщениеДобавлено: Сб Мар 13 2004 00:41    Заголовок сообщения: И я про то же... Ответить с цитатой

Если у нас есть функция из DLL:
//Динамическое связывание
(void*) pFuncFormDll = GetProcAddress(hLib,"FuncFromDll");
........

А сама функция определена в DLL, как:
//------------------------------------------------------------------------
DWORD WINAPI ThreadFunc(LPVOID lpvData)
{
while(true)
{
//Actions!
}
return 0;
}
//------------------------------------------------------------------------
... FuncFromDll(...)
{
DWORD DThread=CreateThread(NULL,0,&ThreadFunc,0,0,&TID);
}
//------------------------------------------------------------------------

То за одно обращение к FuncFromDll, ты создашь один поток с бесконечным циклом, который будет независим и от родительского окна и от DLL.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...