Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Outlook 2003 View Control (ViewCtl) + Delphi


Автор: p0s0l 22.1.2007, 15:54
Всем большой привет! smile

Импортированный ActiveX-компонент Microsoft Office Outlook View Control (Version 1.0) в Дельфи глючно работает.
Во-первых, если просто вытащить на форму, то при следующем открытии проекта эта форма перестается открываеться, и если запустить программу, форма тоже не показывается.
Но это не особо критично, если создавать TViewCtl в Run-Time то эта проблема решается.

Во-вторых, самое главное - нужно отфильровать Outlook-папку... При установке любого из свойств Filter, FilterAppend, Restriction вываливается ошибка "Access Denied" (или "Отказано в доступе") (можно даже чисто в инспекторе свойств их менять, и будут ошибки). Это ну никак не могу обойти, и в инете все перерыл, очень мало информации по этому поводу.
Самое интересное, что если на этом же компьютере воткнуть этот ActiveX компонент в проект Visual Basic - все пашет на ура, фильтруется только так, без всяких проблем. smile
Т.е. это не глюк компонента, а ошибка импортирования в Дельфи, либо самой Дельфи...

Кто-нибудь сталкивался с подобным, и есть ли решения? Или хотя бы намеки какие-нибудь, куда рыть?...

Автор: Quadr0 23.1.2007, 23:47
...

Автор: p0s0l 24.1.2007, 08:28
Цитата(Quadr0 @  23.1.2007,  23:47 Найти цитируемый пост)
Что-то у меня он даже поставиться нормально не может (Delphi 2006).
У меня Delphi 7 + SP1. 
Если он у тебя не ставится, можешь сделать так, упрощенно:
Код
type
  TMyViewCtl = class(TOleControl)
  private
  protected
    procedure InitControlData; override;
  public
  published
  end;

procedure TMyViewCtl.InitControlData;
const
  CControlData: TControlData = (
    ClassID: '{0006F063-0000-0000-C000-000000000046}';
  );
  
begin
  ControlData := @CControlData;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  MyViewCtl := TMyViewCtl.Create(Self);
  MyViewCtl.Parent := Self; // на форме увидим Outlook View Control
  MyViewCtl.OleObject.Restriction := '[Subject] = ''test'''; // ошибка "Отказано в доступе"
end;


Microsoft Office Outlook View Control - это ActiveX-компонент для просмотра Outlook-папок. Вобщем-то это то, что мы видим, например, когда в Outlook'е открываем папку "Входящие". В нем можно настраивать представление и фильтрацию, выполнять базовые действия над элементами.

Цитата(Quadr0 @  23.1.2007,  23:47 Найти цитируемый пост)
Помойму бессмысленно тут что-то пытаться сделать. Контролл от Microsoft, проблемы с не их средами вполне возможны и очевидны
Плохо конечно, но скорее всего это так и есть... smile Пробовал еще в Visual FoxPro засунуть - тоже без проблем работало...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)