Форум: "Начинающим";
Текущий архив: 2014.02.23;
Скачать: [xml.tar.bz2];
Внизpagecontrol и tabcontrol посоветуйте Найти похожие ветки
← →
clix © (2013-05-04 21:09) [0]задача создать чтото типа браузера с вкладками где на каждой вкладке будет выполняться свой запрос idhttp(свой для каждой вкладки), делаю парсинг данных по мере поступления. количество вкладок заранее неизвестно и при переключениях между вкладками запрос продолжает выполняться. тоесть собираюсь создавать и удалять вкладки динамически. на всех вкладках будут одни и теже компоненты, тоесть идентичные вкладки только разные запросы.
незнаю что выбрать, может есть какие др компоненты?
← →
clickmaker © (2013-05-04 22:23) [1]> на всех вкладках будут одни и теже компоненты
оформи содержимое вкладки в виде фрейма (или компонента), потом динамически создавай TabSheet с этим фреймом
← →
clix © (2013-05-04 22:41) [2]я имел ввиду на вкладках будет одинаковый набор компонент ричедит, две кнопки и эдит, и для каждой вкладки придется делать свои компоненты и idhttp свой тк запросы разные
← →
clickmaker © (2013-05-04 22:50) [3]ну вот и создай фрейм с этими компонентами, а потом просто создавай его экземпляры на динамически добавленных табшитах
← →
clix © (2013-05-04 23:12) [4]тоесть как я понял добавлю фрейм на несколько вкладок (весь функционал компонентов уже реализован) и вкдадки будут работать независимо друг от друга? тупо сделать мою программу фреймом и добавлять в новые вкладки и из вкладок делать разные запросы?
← →
clickmaker © (2013-05-04 23:14) [5]> вкдадки будут работать независимо друг от друга?
ну да, экземпляры-то разные. Параметры запроса можно оформить как свойства этого фрейма
← →
DVM © (2013-05-05 00:36) [6]
> clix © (04.05.13 21:09)
Вступаете на порочный путь смешивания контроллера, модели, представления в одну кучу. Лучше отделить представление (вкладки и вообще интерфейс) от данных (загрузка парсинг и т.д.). Иначе потом проблем будет много.
Особенно учитывая, что TIDHTTP блокирующий, то вызов его методов придется производить в доп потоке иначе ни о какой одновременности и параллельности не может быть и речи.
Кстати, во, вместо pagecontrol и tabcontrol рекомендую:
https://code.google.com/p/delphi-chrome-tabs/
← →
clix © (2013-05-05 09:44) [7]
> Лучше отделить представление (вкладки и вообще интерфейс)
> от данных (загрузка парсинг и т.д.)
тоесть в контейнере просто интерфейс будет? а парсинг и тд как процедуру или. функцию оформить?
← →
DVM © (2013-05-05 11:37) [8]
> clix © (05.05.13 09:44) [7]
> тоесть в контейнере просто интерфейс будет?
Я бы так сделал. Идеально вообще сделать отдельным классом-компонентом, одним из свойств которого будет источник данных. Или наоборот у источника данных сделать свойство типа Display (как у TMediaPlayer например). Надо просто сесть и хорошо подумать. Кидание на панели и фреймы компонентов TIDHTTP - это стандартный подход предлагаемый средой быстрой разработки, но он в данном случае неудобен потом окажется.
← →
clix © (2013-05-05 12:21) [9]
> DVM
спасибо за совет, постараюсь оформить парсинг и события компонентов которые находятся во фрейме в виде функций.
← →
clickmaker © (2013-05-05 12:29) [10]лучше оформить запросную часть в виде отдельного класса, типа THttpQuery, где и будут создаваться потоки для IdHttp
← →
clix © (2013-05-05 12:38) [11]класс это конечно хорошо, у меня все в основном потоке сейчас, смысла в отдельных потоках невижу, парсинг делаю в onwork по мере поступления данных и вывожу в ри чедит. ну и антифриз на форме.
← →
DVM © (2013-05-05 12:51) [12]
> clix © (05.05.13 12:38) [11]
> ну и антифриз на форме.
Антифриз это костыль, для быстрого построения приложения на компонентной основе, но он не панацея, все равно есть шанс заблокировать интерфейс на длительное время.
← →
clix © (2013-05-05 13:15) [13]на счет костыля я знаю) идеально в потоках делать каждый запрос.
на данном этапе разрабоики костыль немешает, в дальнейшем в потоках реализую.
на данный момент нужно создание вкладок для работы с разными запросами и одновременное их выполнение, куки одни на всех.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.02.23;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.003 c