Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];

Вниз

Как DCOM клиенту узнать об изменениях данных на сервере/базе   Найти похожие ветки 

 
maxi   (2001-10-22 16:17) [0]

Как заставить клиента DCOM автоматом обновлять данные, если они изменились на сервере/базе? Имеется метод Refresh у компонента ClientDataSet, но он неудобный - надо самому вызывать.
Есть предложения ?


 
maxi   (2001-10-22 16:43) [1]

Ребята, ну не уж-то не поможете, а ? Я уже 2 дня долбаюсь.


 
maxi   (2001-10-22 16:55) [2]

Ну кто-нить то ответит?


 
sedoy   (2001-10-22 17:41) [3]

не знаю природы изменений, но представляю так
на сервере разбиваешь изменения на классы (либо если однотипные, то делаешь счетчик изменений). По событию (счетчик достиг определенного значения ) с сервера шлешь клиентам команду рефреш. В общем суть в том, что сервер дает команду обновления


 
maxi   (2001-10-23 09:18) [4]

Интересно, а как это будет выглядеть ? Хотя бы намекните, как сервер уведомляет клиента? Ведь у меня используется SocketConnectinon и технология Midas. Данные идут пакетами. Да и как вообще сервер узнает об обновлении данных ?


 
sedoy   (2001-10-23 16:12) [5]

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


 
Digitman   (2001-10-23 16:23) [6]

>sedoy
Вот именно - глядя в потолок не рассуждай об извращениях)


 
sedoy   (2001-10-23 17:08) [7]

остроумно, но конкретных решений я пока не видел


 
Digitman   (2001-10-23 17:31) [8]

>sedoy
Я решал (и успешно решил) эту задачу, потому и рекомендую автору ... и не все там так уж сложно (хотя и не так уж просто) в реализации ... просто надо не полениться и изучить "потроха" BSS, TServerSocket и TSocketConnection


 
sedoy   (2001-10-23 17:54) [9]

спасибо за ответ. сам буду пробовать


 
maxi   (2001-10-24 08:57) [10]

>Digitman
А что скажешь по поводу свойства SupportCallbacks ? Я прочитал хелп на это свойство, но ни хрена не понял зачем оно нужно, а главное - как его использовать ? понял только что оно нужно для маршалинга вызовов с сервака на клиент. В этой задаче оно может быть использовано ?


 
Digitman   (2001-10-24 10:10) [11]

>maxi
Не только можно - нужно ! Но без доработки все равно не обойтись.
Чтобы понять, как его использовать, изучи TTransportThread.Execute (модуль SConnect). Транспортный поток как раз и запускается в режиме SupportCallbacks = True.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.004 c
1-52537
Русский
2001-12-27 20:31
2002.01.17
TPropertyEditor


1-52597
Сенченко Андрей
2001-12-29 14:20
2002.01.17
Хочу чтобы меня видели !!! ( DLL )


1-52570
Socol
2001-12-29 04:44
2002.01.17
Поиск текста?


14-52637
Sobesednic
2001-11-20 22:56
2002.01.17
В чем разница Delphi 6 Enterprise(144mb) от Delphi 6 Personal(140mb)


3-52489
Denis Proshkin
2001-12-15 12:31
2002.01.17
разница 96г 1996г





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский