Динамическое 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;
|
|
|
  |
|
центр лазерной эпиляции . ремонт телефонов королев . Отдых в горном алтае стоимость. Стоимость из Новосибирска отдых алтай на 3 дня. . Выбираете Кухню? Загляните сюда - кухни нестандартные. Доска объявлений недвижимость. . |