![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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.)