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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.008 c
15-1377967437
Pavia
2013-08-31 20:43
2014.02.23
Программы машинного перевода


15-1378877464
Demo
2013-09-11 09:31
2014.02.23
Oracle подскажите выход


2-1366721354
Дмитрий
2013-04-23 16:49
2014.02.23
как открыть готовый word в Delphi


15-1377598805
S
2013-08-27 14:20
2014.02.23
Александр Жданов.Адаптивный робот


2-1367219961
Евдоким
2013-04-29 11:19
2014.02.23
В потоке проверка MainForm.Enabled возвращает неверное значение.