Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

передача файла через midas [D7, firebird]


Nortsov ©   (2005-11-18 10:50:00) 

Привет всем
Кто пробовал передавать файлы от сервера к клиенту через midas (сокетное соединение). В статье "Midas и COM. Советы и Приемы"  с этого сайта это описано, но пока у меня не получилось реализовать эту технологию


Romkin   (2005-11-18 16:22:00) [1]

Интерфейс уже есть, если есть Remote Data Module. См библиотеку типов сервера (view type library)


Vlad   (2005-11-18 16:17:00) [2]


> Nortsov   (18.11.05 15:57) [7]


> хорошо, а в каком месте объявить соотв.интерфейс и реализацию
> его методов? в обработчике при создании формы?

Интерфейс объявляется и реализуется в серверном COM-объекте.
(Про создание COM объектов лучше все-таки почитать умную книжку)

Клиент, используя, например SocketConnection, вызывает метод этого интерфейса.


Nortsov   (2005-11-18 15:57:00) [3]

хорошо, а в каком месте объявить соотв.интерфейс и реализацию его методов? в обработчике при создании формы?


Digitman   (2005-11-18 13:29:00) [4]


> на сервере что должно быть?


объявление соотв.интерфейса и реализация его методов.


> на клиенте при запросе файла серверу надо передавать имя
> файла


самому дотумкать так уж трудно ?

function GetFile(FileName: OleVariant) : OleVariant; safecall;
..
FileData := IMyAppServer(MySocketConnection.AppServer).GetFile('такой-то');


Nortsov   (2005-11-18 12:09:00) [5]

а можно чуть подробнее на сервере что должно быть? Я так понимаю определение интерфейса
IMyAppServer = interface(IAppServer)
..
function GetFile: OleVariant; safecall;
..
end;

в GetFile стоит считывание файла типа Readln(AFile, Rec);

?

а на клиенте при запросе файла серверу надо передавать имя файла

var  
FileData: OleVariant;

..

FileData := IMyAppServer(MySocketConnection.AppServer).GetFile;
?


Nortsov   (2005-11-18 11:31:00) [6]

ок, щас попробую, в статье то по другому было написанно :-(


Digitman   (2005-11-18 11:21:00) [7]


> Nortsov   (18.11.05 11:09) [2]


что-то я не понял, причем здесь какой-то DatasetProvider  и ClientDataSet..

тебе же нужно просто передать из Арр-сервера клиентской стороне содержимое некоего файла ?

Ну так объяви и реализуй соответствующий метод интерфейса Арр-сервера !

IMyAppServer = interface(IAppServer)
..
 function GetFile: OleVariant; safecall;
..
end;

var  
 FileData: OleVariant;

..

FileData := IMyAppServer(MySocketConnection.AppServer).GetFile;


Nortsov   (2005-11-18 11:09:00) [8]

проблема в том что не получается, в статье написанно, что надо создать DatasetProvider  и ClientDataSet, но при открытии клиента возникает ошибка Missing DataSet property т.к., действительно его нет, он должен крейтится в обработчике BeforeGetRecirds Датасет провайдера


Digitman   (2005-11-18 10:53:00) [9]

и в чем проблема ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо