![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите начинающему с сетевым приложением.
Knight © (2010-07-17 10:25:00)Всё мелкие писал, а тут серьёзная программа для предприятия. Как лучше организовать обмен сокетными данными с формами?
У клиента есть DataModule на котором лежит TWSocket из ICS. Внутри данного модуля происходит вся работа с сетью.
Но как завязать сюда другие окна...
Например, по сети пришёл запрос авторизации, модуль создал форму ввода логина-пароля и показал (в окне поля ввода и строка вывода ошибок). При нажатии кнопки авторизации вызывается процедура отправки команды из DataModule при получении ошибки надо вывести её пользователю в TLabel на форме авторизации.
В этой же форме хочу сделать запрос проверки обновления, т.е. если авторизация успешна, то поля логин-пароль скрываются и появляются прогресс бары (общий для всех файлов и для скачиваемого) и поле вывода имени текущего файла. Как передать прогрессы и имя файла форме?
и т.п.
Вариантов у меня три
1) Сделать, например, функции авторизации и обновления в которые передавать указатели на Лейблы и ПрогрессБары.
2) Передавать сообщения, например, WM_AUTH, WM_AUTH_OK, WM_AUTH_ERR и WM_UPDATE_SIZE, WM_UPDATE_FILENAME и т.п. окну сендеру, а оно уже само разруливает полученные данные.
3) Сделать обработчики событий и при создании окон в DataModule привязывать их к функциям окно...
Что посоветуете?
turbouser (2010-07-17 11:50:00) [1]
> Knight © (17.07.10 10:25)
> а тут серьёзная программа для предприятия
Тогда TCP
> sniknik © (17.07.10 10:46) [2]
>
> имхо, лучше
Не факт.
автор, ты бы лучше рассказал что делает твоя программа
sniknik (2010-07-17 10:46:00) [2]имхо, лучше сменить сокеты и низкоуровневый протокол на что-то более высокого уровня, http например, где авторизация уже есть встроенная.
Knight (2010-07-17 10:37:00) [3]А может интерфейсы задействовать... ?