All Forums
 Категория Visio
 Форум Вопросы и ответы
 Как поместить чертеж в поток?
Author Previous Topic Topic Next Topic  

Voland

91 Posts

Posted - 11/24/2005 :  11:39:22
Доброго времени всем... Такой вопрос. Пишу на Delphi используюя Visio2003 ActiveX DrawingControl. Мне необходимо чертеж засунуть в поток TStream и получить чертеж из потока, чтобы он отобразился. Вот как это можно сделать. Вообще поддерживает ли Visio работу с потоками?

___ Кто ищет тот найдет __

mers

Russia
159 Posts

Posted - 11/24/2005 :  16:19:53
а что вы понимаете под "засунуть чертеж в поток"?

т.е. вам нужно что бы где-то в памяти хранился чертеж и при необходимости вы могли его моментально вывести? или что?


Edited by - mers on 11/24/2005 17:26:50
Go to Top of Page

Voland

91 Posts

Posted - 11/29/2005 :  11:16:58
Нет, я считываю чертеж ( и пишу) в БД через поток. Вот мне нужно при, например, при считывании чертежа из БД потоком, сразу же отобразить его в визио, сейчас я сохраняю потоком в файл а потом открываю его... так же и сохраняю... а хотелось бы сразу напрямую потоком в визио и из визио в БД :)

___ Кто ищет тот найдет __
Go to Top of Page

Voland

91 Posts

Posted - 11/30/2005 :  11:53:20
Поток это как бы набор больших данных разбытый на кусочки и передаваемый куда-либо

___ Кто ищет тот найдет __
Go to Top of Page

mers

Russia
159 Posts

Posted - 12/01/2005 :  16:56:43
=) это я понимаю..

по поводу данной проблемы..
ИМХО
думаю что такой возможности нет, потому что:
Я делаю открытие файла визио с сервера. Для этого я его запаковываю и передаю через методы веб сервиса на локальный компьютер, там сохраняю его как временный файл на диске, загружаю в свое приложение, очищаю свойство save загруженного файла, после этого удаляю.. т.о. получаюу себя в приложении копию файла с сервера. Этот способ нашел где-то в мсдн или на форуме от разработчиков. Вряд ли они бы писали этот изврат, если бы я сразу с сервера мог прочитать всд.

но вдруг что найдете, вы напишите, будет очень интересно.

Edited by - mers on 12/01/2005 17:04:58
Go to Top of Page

Tumanov

Russia
1198 Posts

Posted - 12/01/2005 :  20:07:40
С сервером могут быть разные варианты...
У меня, например, на сервере стоят Oracle и IIS. И требуется просматривать офисные документы через веб-интерфейс. Так вот - серверный asp скрипт принимает из базы BLOB в виде ADODB.Stream, и без промежуточной записи переправляет его клиенту через http интерфейс командой Response.BinaryWrite Stream.Read. А на клиентской машине IE вызывает нужное приложение (Word, Excel...) и показывает файл клиенту.
Но это через http, а вот как отдать напрямую - не знаю. Может быть и нельзя...
Go to Top of Page

Voland

91 Posts

Posted - 12/06/2005 :  12:36:24
Нда, я тоже пока ни чего не нашел.... но должно же что то быть...
Не думаю что Microsoft сделал активХ компонент который может работать только со статикой... дожна быть возможность...
Я у него находил какието стримы... но до них нельзя добраться напрямую, вернее вообще нельзя добраться через объектную модель..
В ОЛЕ-компоненте визио есть возможность работы с потоками, значит как то всетаки он с ними работает...
Буду искать.

___ Кто ищет тот найдет __
Go to Top of Page
  Previous Topic Topic Next Topic  
Данный сайт является архивом форума visio.artberg.ru, который был закрыт в связи с переходом на новую платформу visio.getbb.ru
Все материалы доступны только для чтения! Если у вас появились вопросы, или вы хотите что-то обсудить, связанное с Visio, обращайтесь на новый форум!
Архив был создан благодаря совместным усилиям Генадия Туманова @Tumanov (visio.artberg.ru), Александра ака @Surrogate (visio.getbb.ru), и Николая Белых @nbelyh (unmanagedvisio.com)