Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с DLL [D5, D6, Win95/98, WinME, NT4, Win2k]


Werewolfru ©   (2002-08-19 11:29:00) 

Мне нужно вставить функию в DLL, запустить ее, а затем возвратить результат. В DLL Будет запущен непрерывный цикл, и событие будет вызываться по завершению этого цикла. Буду благодарен за любую информацию по работе с DLL.


Werewolfru   (2002-08-19 16:46:00) [1]

Спасибо, а то программа конечно файлы даунлоадит, но с ней в это время невозможно работать. А вот на счет MSDN - в теории я его знаю, а вот на практике... надо попробовать, мысль интересная.


Digitman   (2002-08-19 16:42:00) [2]

Да практически в любой литературе, фигурирующей здесь же, в форуме, в кач-ве рекомендаций мастеров ... Полистай архивы форума - наверняка с десяток точных названий наберешь.
Ну и MSDN, разумеется, как ссылка на первоисточник ...


Werewolfru   (2002-08-19 16:36:00) [3]

Где об этом можно почитать?


Digitman   (2002-08-19 16:33:00) [4]

Ради "спортивного" же "интереса" оригинальный код за тебя писать я не собираюсь.
Скажу лишь, что единого решения нет, путей реализации - множество и выбот того или иного будет зависеть от механизма взаимодействия между хост-процессом и DLL, выбранного тобой.

Это может быть и оконные сообщения, и обратные вызовы, и системные объекты синхронизации. И дело вовсе не в каких-то там надуманных кем-то "особенностях" взаимодействия хост-процесса и DLL, а именно - в рациональном и эффективном выборе конкретного механизма асинхронного взаимодействия и синхронизации между различными участками кода (где бы эти участки ни находились - в Dll или хост-процессе)


Werewolfru   (2002-08-19 16:24:00) [5]

Thanks, а все-же, как работать с DLL (ради спортивного интереса)!


Digitman   (2002-08-19 16:16:00) [6]

Пожалуйста)

см. демо-проект в составе Делфи threads.dpr

он, imho, очень даже ЖИВОЙ и наглядный


Werewolfru   (2002-08-19 16:13:00) [7]

Со своим кодом я сам разберусь, а ты можешь показать хоть один ЖИВОЙ пример разделения на кодовые потоки?


Digitman   (2002-08-19 15:34:00) [8]

И как тебе объяснять ? На пальцах ? Изложи свои творческие изыскания (пусть даже и неработающие) в коде - разберем с тобой по каждой твоей строчке с подробными комментариями с моей стороны, если возникнут проблемы


Werewolfru   (2002-08-19 15:20:00) [9]

Спасибо, попробую, а не обьяснишь, как это грамотнее организовать в моем случае?


Digitman   (2002-08-19 14:26:00) [10]

Организуй тоже самое в доп.кодовом потоке. Он будет выполняться параллельно с основным и не будет "вешать" твое приложение


Werewolfru   (2002-08-19 14:08:00) [11]

>Отсюда вытекает вопрос : каким образом, с помощью каких >компонентов и в каком режиме организована у тебя "закачка" ?

Я уже пробовал и через InternetOpenURL, и через DownloadUrl, и даже через NMHTTP, в любом случае прога вешается, может подскажешь как мне быть?


Digitman   (2002-08-19 13:43:00) [12]


> не будет ли эта DLL вешать ОСь


Нет, не будет. А вот свой хост-процесс, загрузивший такую вот DLL и вызвавший из нее синхронную блокирующую ф-цию (которая выполняется оч.долго и не реагирует в этот момент ни на что более), ты точно "подвесишь".

Отсюда вытекает вопрос : каким образом, с помощью каких компонентов и в каком режиме организована у тебя "закачка" ?


Werewolfru   (2002-08-19 13:31:00) [13]

>Ок. Операция "скачивания" в DLL выполняется в осн.код.потоке >или в дополнительном ?

В основном коде, кстати, не будет ли эта DLL вешать ОСь


Digitman   (2002-08-19 12:26:00) [14]

>Werewolfru


> Происходит скачивание Файла


А если бы не "скачивание Файла", а, скажем, чтение с очень медленного носителя информации (или просто - некая длительная по времени операция) - что-то принципиально меняется, с твоей т.з. ?

Ок. Операция "скачивания" в DLL выполняется в осн.код.потоке или в дополнительном ?


Werewolfru   (2002-08-19 12:13:00) [15]

Отношение к сетям - Происходит скачивание Файла.

Как только скачивание завершено, DLL должна сообщить об этом основному приложению.


Digitman   (2002-08-19 11:56:00) [16]

>>событие будет вызываться

Какое событие ? Что под этим подразумевается ?

Какое отношение этио имеет к сетям ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо