![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 23.10.2008
Сообщений: 460
|
![]()
Всем привет, пишу программу которая работает с ФТП (на idftp)
Столкнулся вот с чем: Имеется основное приложение и DLL в которой хранятся почти все процедуры... Вот вопрос в Dll лежит процедура которая скачивает\закачивает на фтп файл как сделать так чтобы привязать Progressbar находящийся на форме к процедуре запущенной из DLL? в случае на форме есть у idftp Event "OnFTPWork" к которому можно привязаться... Понятно что при создании можно сделать следующее: Idftp.OnFTPWork:=xxx; но опять как в эту процедуру указать на progressbar с основной формы? Заранее спасибо! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
![]()
> как сделать так чтобы привязать Progressbar находящийся на форме к процедуре запущенной из DLL?
а) опрашивать длл по таймеру б) передать в длл каллбэк с) передать хендл прогрессбара в длл, пусть сама рисует д) поделить размер файла на скорость скачки/закачки и рисовать самому приблизительно е) хранить % скачанного/закачанного в разделяемой памяти вроде всё.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
![]() |
![]() |
![]() |
#3 |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]()
Ну к чему этот геморрой с dll, если на то есть bpl, при использовании которой работа с компонентами, находящимися в ней, АБСОЛЮТНО НИЧЕМ не отличается от той же работы с теми же компонентами в хост-приложении ?
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 23.10.2008
Сообщений: 460
|
![]()
а просто обратиться к компоненту формы никак?
натипа uses Form1 in Form1.pas; не прокатит? |
![]() |
![]() |
![]() |
#5 | |
Заблокирован
Регистрация: 27.05.2010
Сообщений: 1,099
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 23.10.2008
Сообщений: 460
|
![]()
это не совет а вопрос
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
![]()
Прокатило бы, если бы эта форма была в bpl.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 23.10.2008
Сообщений: 460
|
![]()
вобщем решил проблему через передачу в процедуру компонента
натипа Код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 06.12.2010
Сообщений: 300
|
![]()
Если рантайм пакеты не включены или длл и прога написаны в разных версиях делфи, то лучше так не делать.
|
![]() |
![]() |
![]() |
#10 | |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
![]() Цитата:
А вобще не стоит такой функционал выносить в dll - реализуйте все в главном приложении...сделайте обертки на классах и будет намного меньше проблем...и код красивее станет... ![]()
Будь проще и люди к тебе потянутся
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
взаимосвязь 2х Документов | Diamand | Microsoft Office Excel | 0 | 08.04.2011 15:01 |
неперемещаемая форма из dll | oldDed | Общие вопросы .NET | 0 | 07.11.2010 13:25 |
Взаимосвязь типов | Dalokoshka | Помощь студентам | 1 | 25.10.2010 00:14 |
вторая форма запускалась первой а уже с нее запускать первую форму, где основная программа | Chudo4258 | Помощь студентам | 5 | 09.04.2010 23:13 |
из .exe TBitMap передать в DLL(форма) | lexaltd | Мультимедиа в Delphi | 13 | 14.07.2009 17:47 |