Страница 1 из 1

Обмен данными

Добавлено: 18 ноя 2010, 14:29
galover
Есть COM объект (исходники доступны), которому нужно передать из Галактики внушительный объем данных (выгрузку view или table struct). Как лучше передать эти данные? Можно было бы через некоторый метод COM объекта, но количество столбцов данных заранее неизвестно; через string тоже никак - длина строки 255 символов, даже одну строку данных не впихнешь. Есть несколько вариантов:
1) через файл, но вроде как не комильфо (рассматриваю в последнюю очередь).
2) через тип lvar. Мапируется ли он на COM тип?
3) через таблицу с memo. Вроде самый удобный, но придется делать обращение со стороны COM объекта к базе, а это значит геморрой с соединением.
Может кто-то занимался этим вопросом? Какие будут идеи?

Re: Обмен данными

Добавлено: 18 ноя 2010, 16:22
KATZ
galover писал(а):Можно было бы через некоторый метод COM объекта, но количество столбцов данных заранее неизвестно; через string тоже никак - длина строки 255 символов, даже одну строку данных не впихнешь.
Количество столбцов можно передать в начале сеанса обмена. Длинные блоки разбивать на 255-байтовые и передавать последовательно, отслеживая суммарную длину. Это, конечно, не идеальное решение, но работать будет. Из випа ведь даже буфер обмена недоступен, не говоря уж о всевозможных DDE, Named Pipes и пр.