Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Как передать данные из потока?   Найти похожие ветки 

 
Заур   (2005-10-15 12:07) [0]

Здравствуйте уважаемые эксперты!
Вопрос такой: Имеется поток, который отслеживает изменения в файлах (создание, удаление, модификация и.т.п).
Поток я запускаю в маленькой программе, написанной на Win-Api, и программа у меня "сидит" в трее. Мне нужно передать некий список файлов который я получаю в потоке  в Listbox
формы, которую я загружаю из DLL. Другими словами как мне передать данные из Exe приложения в DLL?
В момент огда поток будет работать у меня DLL может быть не загружена!, поэтому я думал может в файл записывать и оттуда читать. Или же как то в памяти хранить, а потом когда DLL загрузится прочитать. Помогите пожалуйста...


 
Eraser ©   (2005-10-15 12:16) [1]


> Заур   (15.10.05 12:07)

>  Другими словами как мне передать данные из Exe приложения
> в DLL?

Приложение (процесс) в данном случае один и тот же. Передавай данные например через Callback ф-ю, советую использовать PChar.

> В момент когда поток будет работать у меня DLL может быть
> не загружена!

Так загрузи.
___
Зачем вообще форму в отдельной dll хранить? Сомнительная экономия ресурсов.
Основная программа использует модуль Forms?


 
Заур   (2005-10-15 13:25) [2]

Форму я храню в Dll для экономии ресурсов (я так полагаю это увеличит скорость работы моей программы), а основная программа использует модуль Forms! А примерчик этой CallBack функции Вы не могли бы показать...


 
Eraser ©   (2005-10-15 13:34) [3]


> Заур   (15.10.05 13:25) [2]

> а основная программа использует модуль Forms!

Вся экономия - насмарку, гы!
Немного сэкономить можно, создавая форму динамически, а затем её освобождая, но для этого не нужно никаких ДЛЛ.
Ещё вопрос
"Как передать данные из потока?"
имеется ввиду основной (первичный) поток или свой создавал, дополнительный?


> А примерчик этой CallBack функции Вы не могли бы показать.
> ..


// объявляем тип
type
 TcbOnMsgReceive = procedure(pchFromIP: PChar;
   AParams, AData: PChar; AParamsSize, ADataSize: integer); stdCall;
...
// объявляем переменую
var
 cbOnMsgReceive:  TFarProc; //(TcbOnMsgReceive;)
...
// определяем переменую
cbOnMsgReceive := AcbOnMsgReceive; // где AcbOnMsgReceive есть рабочая ф-я
// вызываем ф-ю
   if cbOnMsgReceive <> nil then
     TcbOnMsgReceive(cbOnMsgReceive)(PChar(sFromIP),
       bufParams, bufData, msParams.Size, msData.size);



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

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.034 c
3-1127748273
avsam
2005-09-26 19:24
2005.11.06
Свой TQuery


8-1118551920
GekaNaz
2005-06-12 08:52
2005.11.06
отображение подгружаемых картинок


3-1127814213
Бизон
2005-09-27 13:43
2005.11.06
Структурирование в XML файлах


2-1128957890
boo
2005-10-10 19:24
2005.11.06
есть программа, в ней есть окно, в которое выводятся числа от 0


14-1129545597
sergg
2005-10-17 14:39
2005.11.06
Такой же по качеству ресурс о Buildere?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский