Программы   Загрузка Партнерство   О компании Контакты  
 
                    
  Карта Сайта   
   





Динамическое 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;

           




Программы  |  Загрузка  |  Партнерство  |  О компании  |  Контакты

Copyright © LSD Software 2006 - 2011