Динамическое OLE

Некоторое время тому назад вы задавали вопрос по поводу динамического OLE без создания диалогового окна для просмотра файла. Я таки добился этого и вот код...

Uses

..., BOleDefs, ...

procedure TPreview.previewOLEFile(fileName: string);
var
Info: ^BOleInitInfo;
cString: array[0..80] of char;
begin

Screen.Cursor := crHourGlass;
try
GetMem(Info,sizeof(BoleInitInfo));

Info^.How := BOLE_EMBED;
Info^.Where := BOLE_FILE;
Info^.pContainer := nil;
Info^.hIcon := 0;
Info^.Storage := nil;

StrPCopy(cString,fileName);
Info^.Path := cString;

oleDocument.PInitInfo := Info;
ReleaseOLEInitInfo(Info);   { данная функция освобождает (getmem) память ! }
oleDocument.Visible :=Br>
end;
end;
 
« Предыдущая статья   Следующая статья »