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

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

BLOBField и OLEContainer [D7]


Чайник ©   (2003-01-18 13:36:00) 

Как передать соьержимое из BLOBField в OLEContainer
Исполтьзование TMemoryStream вызывает ошибку "%1 уже существует"

MS := TMemoryStream.Create();
try
ADOTable1Body.SaveToStream(MS);
MS.Position := 0;
OLEcontainer1.LoadFromStream(MS);
finally
MS.Free;
end;

OLEcontainer1.OldStreamFormat = True
Может возможно другое рещение?
спасибо


Чайник   (2003-01-18 15:59:00) [1]

то что это doc уверен, а при OldStreamFormat:=false
выдает EOLEError Invalid stream format при работе TMemoryStream
Есть еще TOLEStream но я не знаю как его создать :-(


Delirium^.Tremens   (2003-01-18 15:54:00) [2]

Ну, я надеюсь, что уверенность в том, что это именно doc, есть. А OldStreamFormat := false тоже не проходит?


Чайник   (2003-01-18 15:35:00) [3]

Пробовал

ADOTable1Body.SaveToFile("D:\111.doc");
OLEcontainer1.LoadFromFile("D:\111.doc");

Таже ошибка,
причем при открытии Word"ом дает кодированный текс и кракозябры,
может проблема при вытаскивании содержимого BLOB"а ?
Я плохо разбираюсь во внутренне й кухне Дельфей при работе с DB.


Delirium^.Tremens   (2003-01-18 15:26:00) [4]

Н..да, а в файл сохранить для начала и попробовать его открыть? То есть забыть пока об OleContainer и проверить бинарники.


Чайник   (2003-01-18 15:19:00) [5]

Доки сохранялись через клиента на VB6+DAO - > Access, OLEContainer должен показать этот документ и при необходимости редактирования вызвать приложение в котором этот докумет был создан, с последующим сохранением документа в базе. В VB это решается просто указанием DataSource на необходимый источник, в Дельфях столкнулся с такими граблями :-((((


Delirium^.Tremens   (2003-01-18 14:58:00) [6]

Чем они туда сохранялись (доки) и какова роль OleContainer?


Чайник   (2003-01-18 14:33:00) [7]

В BLOB"е документы созданные в MS Office(Word, Exel),
BLOB в базе Access, необходимо перенести в MS SQL2k, пишу клиента на Дельфи


Delirium^.Tremens   (2003-01-18 14:25:00) [8]

А что у нас хранится в этом, я так понимаю, BLOB"е?


gsu   (2003-01-18 14:18:00) [9]

procedure TOleContainer.LoadFromStream(Stream: TStream);
var
DataHandle: HGlobal;
Buffer: Pointer;
Header: TStreamHeader;
begin
DestroyObject;
...


Delirium^.Tremens   (2003-01-18 14:14:00) [10]

Да ты в дизайне его зачисть.


Чайник   (2003-01-18 14:11:00) [11]

пробовал OLEContainer1.DestroyObject ?? Те же грабли


Delirium^.Tremens   (2003-01-18 13:38:00) [12]

Контейнер, возможно нуждается в очистке (содержит уже smb.)


Наверх

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