Здравствуйте, Роман Игнатьев. Такой вопрос: работает ли изложенный в статье метод обратных вызовов, когда сервер и клиент приложений находятся на разных компах. У меня выскакивает access violation.
Здравствуйте, nurimanov, Вы писали:
N>Здравствуйте, Роман Игнатьев. Такой вопрос: работает ли изложенный в статье метод обратных вызовов, когда сервер и клиент приложений находятся на разных компах. У меня выскакивает access violation.
Работает
Вообще-то в проекте у меня жестко прошит localhost, эт во-первых. Во-вторых, сервер должен быть изсечтен на клиенте (или, кажется, достаточно убрать GUID из коннекта, но не помню уже). Для этого надо либо зарегистрировать на клиенте tlb сервера, либо просто один раз запустить сервер на клиенте (потом со спокойной душой его можно удалить). Ну и третий путь — самому прописать все записи в реестре...
Здравствуйте, Romkin, Вы писали:
R>Работает
R>Вообще-то в проекте у меня жестко прошит localhost, эт во-первых. Во-вторых, сервер должен быть изсечтен на клиенте (или, кажется, достаточно убрать GUID из коннекта, но не помню уже). Для этого надо либо зарегистрировать на клиенте tlb сервера, либо просто один раз запустить сервер на клиенте (потом со спокойной душой его можно удалить). Ну и третий путь — самому прописать все записи в реестре...
Большое спасибо. Заработало
Здравствуйте, Romkin, Вы писали:
R>Работает
R>Вообще-то в проекте у меня жестко прошит localhost, эт во-первых. Во-вторых, сервер должен быть изсечтен на клиенте (или, кажется, достаточно убрать GUID из коннекта, но не помню уже). Для этого надо либо зарегистрировать на клиенте tlb сервера, либо просто один раз запустить сервер на клиенте (потом со спокойной душой его можно удалить). Ну и третий путь — самому прописать все записи в реестре...
Здравствуйте, Роман Игнатьев. Возможность запускать программу клиент midas с другого компа была решена за счёт предварительного запуска на нем копии сервера midas. Однако после удаления копии клиент перестает запускаться. Удаление GUID из SocketConnection не помогает. Я так понимаю, что это нужно лечить как вы сказали либо регистрацией tlb сервера на клиенте, либо самостоятельно прописать записи в реестр. Не могли бы вы рассказать по-подробнее или дать ссылки на литературу, где это можно прочитать. Заранее спасибо.
Здравствуйте, nurimanov, Вы писали:
N>Здравствуйте, Romkin, Вы писали:
N>Здравствуйте, Роман Игнатьев. Возможность запускать программу клиент midas с другого компа была решена за счёт предварительного запуска на нем копии сервера midas. Однако после удаления копии клиент перестает запускаться. Удаление GUID из SocketConnection не помогает. Я так понимаю, что это нужно лечить как вы сказали либо регистрацией tlb сервера на клиенте, либо самостоятельно прописать записи в реестр. Не могли бы вы рассказать по-подробнее или дать ссылки на литературу, где это можно прочитать. Заранее спасибо.
Да не может такого быть

Уж что-что, а это должно работать... Может, это windows слишком умная, и, отследив удаление, сама чистит реестр? Больше я не могу себе представить ничего...
Попробуй просто взять .tlb от сервера, положить к клиенту и зарегистрировать ее TRegsvr (есть эта утилита в delphi/bin).
А посмотреть, что именно пишется в реестр можно в исходниках (TComServ.UpdateRegistry, ComServ.pas — там собственно регистрируется библиотека и все фабрики), или просто сделав поиск в реестре по classID удаленного модуля данных.
Здравствуйте, Romkin, Вы писали:
R>Да не может такого быть
Уж что-что, а это должно работать... Может, это windows слишком умная, и, отследив удаление, сама чистит реестр? Больше я не могу себе представить ничего...
R>Попробуй просто взять .tlb от сервера, положить к клиенту и зарегистрировать ее TRegsvr (есть эта утилита в delphi/bin).
R>А посмотреть, что именно пишется в реестр можно в исходниках (TComServ.UpdateRegistry, ComServ.pas — там собственно регистрируется библиотека и все фабрики), или просто сделав поиск в реестре по classID удаленного модуля данных.
Получилось

Регистрирую библиотеку типов сервера .tlb, после этого клиент работает. Только всё равно файл tlb нельзя перемещать, но хотя бы он не такой тяжеловесный как копия сервера
Здравствуйте, nurimanov, Вы писали:
N>Получилось
Регистрирую библиотеку типов сервера .tlb, после этого клиент работает. Только всё равно файл tlb нельзя перемещать, но хотя бы он не такой тяжеловесный как копия сервера
Хм. Явно похоже на навязчивый сервис ХР или 2003 версий