Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2015, 09:26   #1
nik531
 
Регистрация: 23.12.2008
Сообщений: 9
По умолчанию Дочернии объекты ActiveX компонента, как добавить в ActiveX объект дочернии объекты.

Есть у меня объект лист у этого объекта есть вложенные объекты рисунки там таблици. Хочу дать возможность из VBA получить доступ к свойствам этих объектов на прямую.
примерно так
List.Image.Color := 255;

Для этого добавляю новый инрефейс IMyImage c одним свойством Color.
в основной интрфейс добавлю свойство Image для чтения возвращающие указтаель на интрфейс IMyImage
В класс релизущий основной интрфейс добавлю реализацию метода
Код:
CollapsedWrap disabledLine numbers off
function TMyList.Get_Image: IMyImage;
begin
  Result := MyImage1;
end;
тепрь сам класс TMyImage
выгледит следующим образом
Код:
CollapsedWrap disabledLine numbers off
  TMyImage = class (TAutoObject, IMyImage)
    Owner : TMyList;
  public
    constructor Craete(aOwner : TMyList);
    procedure Set_Color(Value: SYSINT); safecall;
  end;
 
constructor TMyImage.Craete(aOwner : TMyList);
begin
  inherited;
  Owner := aOwner;
end;
 
procedure TMyImage.Set_Color(Value: SYSINT);
begin
  Owner.Set_YColor(Value);
end;
создаётся картинка Image в конструкторе TMyList
Код:
CollapsedWrap disabledLine numbers off
constructor TMyList.Create(...)
begin
...
 MyImage1 := TMyImage.Create(Self);
end;
Всё компелируется запускается но при обращение к свойству Image класс лист приложение падет в методе TAutoObject.Invoke скорее всего потому что там Factory равно nil
что делать ?
как правильно создавать вложенные объекты дла обекта автоматизации ? вазможно ли воопще такое ?

Последний раз редактировалось Stilet; 17.08.2015 в 14:02.
nik531 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание Activex компонента в среде Delphi mosxe Фриланс 2 26.04.2013 00:19
В окне перемещаются объекты, отталкиваясь от стенок окна. Каждый объект имеет свой поток, перемещающий его. Встретившись, объекты ИльназВ C# (си шарп) 13 22.11.2012 19:00
пример создания окна для ActiveX(OLE) компонента(по типу WebBrowser или Flash) Пепел Феникса Win Api 4 25.12.2009 09:08
ActiveX как DLL Stilet Win Api 2 07.12.2009 16:51
Как использовать ActiveX в Delphi tsergey Компоненты Delphi 8 17.02.2009 11:24