Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];

Вниз

Потоки(Threads) в DLL   Найти похожие ветки 

 
Dj Karies   (2002-06-26 12:08) [0]

Как добиться работы потоков в DLL?
В exe-файле создаваемые потоки работают
без проблем(Thread-таймер, Анимированный gif, TAudioStream, thrddemo.dpr из папки Demos\).
Если они же создаются в DLL, то вообще не работают или виснут без работы.
Т.е. просто так ни один потомок TThread не работает в Dll.
Некоторые потоки могут работать, если у exe и dll общие Runtime Rtl и Vcl bpl-ки.

Конкретный пример:
В thrddemo.dpr переименовываем "program" в "library", компилим.
Создаём Project1.dpr, в котором на Button1Click вешаем LoadLibrary("thrddemo.dll"),
компилим. Запускаем Project1.exe, давим Button1. Появляется окошко демки.
Жмём "Start Sorting" и облом.
Далее в оба проекта ставим флажок "Build with runtime packages" с rtl и vcl. Оба компилим.
Снова запускаем Project1.exe тоже самое, но при закрытии demo-окна, оно не закрывается, а
идёт сортировка. При повторном Close ошибки и всё,
включая Project1.exe закрывается с errorами.


 
Виктор Щербаков   (2002-06-26 12:18) [1]


> В thrddemo.dpr переименовываем "program" в "library", компилим.

Ни хрена себе методы...
Волосы дыбом!


 
Игорь Шевченко   (2002-06-26 12:21) [2]

Ночной кошмар программиста :-)


 
oomneeq   (2002-06-26 13:05) [3]

Про потоки в DLL
http://www.pergolesi.demon.co.uk/prog/threads/Ch13.html


 
Alex_LG   (2002-06-26 14:04) [4]

а кстати про потоки в длл:
создаю в этом потоке таймер и ТСПсервер
форму не создаю - при создании таймера с сервером в функция Create(nil)
и что? события не вызываются! то есть ни по таймеру, ни по коннекту. хотя сервер порт открывает (фаервол говорит об этом)
что делать?
пробовал открывать сокет средствами API - та же картина: тот код, что раньше работал (в основном потоке) - в параллельном события не ловит (именно события сокета и таймера) - или не определяет коректно, никак не пойму


 
panov   (2002-06-26 14:09) [5]

>Alex_LG © (26.06.02 14:04)
Для такой реализации в отдельном потоке нужно самому реализовывать выборку и обработку сообщений.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.006 c
1-23585
awaken
2002-06-24 15:37
2002.07.08
Как уничтожить форму из самой себя?


4-23851
chukcha
2002-05-07 17:39
2002.07.08
Не могу подключить библиотеку.


3-23527
VeLeS
2002-05-29 17:46
2002.07.08
Чем пользоваться для Доступа к MySQL?


1-23671
Вэн
2002-06-26 13:38
2002.07.08
Работа с ProgressBar


3-23520
maksik75
2002-06-17 18:00
2002.07.08
HELP !!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский