Текущий архив: 2011.06.05;
Скачать: CL | DM;
ВнизWord.Application - загрузка из потока Найти похожие ветки
← →
bss (2011-02-16 17:26) [0]Имеем дело с COM/OLE-объектом "Word.Application" и его документами.
Есть ли способ загрузить файл из памяти, а не с диска? Не OLE-информацию всю, а допустим имеем из базы Stream с данными в формате файла .doc
Также интересует сохранение.
← →
Игорь Шевченко © (2011-02-16 18:39) [1]сохранить во временный файл, загрузить из файла
← →
bss (2011-02-16 18:54) [2]Фиг, мы легких путей не ищем )))
Вот мое творчество.
Допустим, OleDocument - Это документ Word"а (или Workbook эксела):procedure TfrmRG_DocOut.SaveDocumentToStream(Stream: TStream);
var
TempStorage: IStorage;
PersistStorage: IPersistStorage;
TempLockBytes: ILockBytes;
DataHandle: HGlobal;
Buffer: Pointer;
begin
(IDispatch(OleDocument) as IOleObject).QueryInterface(IPersistStorage, PersistStorage);
if PersistStorage <> nil then
begin
OleCheck(CreateILockBytesOnHGlobal(0, True, TempLockBytes));
OleCheck(StgCreateDocfileOnILockBytes(TempLockBytes, STGM_READWRITE
or STGM_SHARE_EXCLUSIVE or STGM_CREATE, 0, TempStorage));
OleCheck(OleSave(PersistStorage, TempStorage, False));
PersistStorage.SaveCompleted(nil);
OleCheck(GetHGlobalFromILockBytes(TempLockBytes, DataHandle));
Buffer := GlobalLock(DataHandle);
try
Stream.Size := GlobalSize(DataHandle) ;
Stream.Position := 0;
Stream.WriteBuffer(Buffer^, Stream.Size);
finally
GlobalUnlock(DataHandle);
end;
end;
end;
← →
Игорь Шевченко © (2011-02-16 20:33) [3]
> Вот мое творчество.
Как бы вас всех, творцов, собрать в одно место... :)
← →
Leonid Troyanovsky © (2011-02-16 22:42) [4]
> Игорь Шевченко © (16.02.11 20:33) [3]
> Как бы вас всех, творцов, собрать в одно место... :)
В дом творчества.
Скажем, Верзоль.
--
Regards, LVT.
← →
Игорь Шевченко © (2011-02-16 23:10) [5]
> Скажем, Верзоль.
оценил :)
← →
bss (2011-02-17 11:16) [6]Игорь, хотите сказать, что код не очень хороший? В целом, принципы взяты из кодов VCL, так шо без наездов плиз ))
← →
Inovet © (2011-02-17 11:22) [7]> [4] Leonid Troyanovsky © (16.02.11 22:42)
> В дом творчества.
> Скажем, Верзоль.
Путин вчера пердложил владивостокским таможенникам заняться творчеством в ДК Таможенник, а не на рабочем месте клипы снимать о своей рулезной крутизне.
← →
Anatoly Podgoretsky © (2011-02-17 11:33) [8]
> Игорь, хотите сказать, что код не очень хороший? В целом,
> принципы взяты из кодов VCL, так шо без наездов плиз ))
Ссылка на чужой код не состоятельна, откуда бы этот код не был взят.
Страницы: 1 вся ветка
Текущий архив: 2011.06.05;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.003 c