Советы по Delphi

         

Динамическое 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 := True;
finally Screen.Cursor := crDefault;
end; end;

[000510]



Содержание раздела