OberonCore
https://forum.oberoncore.ru/

Реализация абстрактних методов
https://forum.oberoncore.ru/viewtopic.php?f=35&t=1133
Страница 1 из 1

Автор:  hothing [ Среда, 20 Август, 2008 16:47 ]
Заголовок сообщения:  Реализация абстрактних методов

Код:
DIOPCGroupEvent = POINTER TO ABSTRACT RECORD (CtlT.OutObject)
         (this: DIOPCGroupEvent) AsyncCancelComplete (CancelID: INTEGER), NEW, ABSTRACT;
         (this: DIOPCGroupEvent) AsyncReadComplete (TransactionID, NumItems: INTEGER; ClientHandles, ItemValues, Qualities, TimeStamps, Errors: CtlT.Any), NEW, ABSTRACT;
         (this: DIOPCGroupEvent) AsyncWriteComplete (TransactionID, NumItems: INTEGER; ClientHandles, Errors: CtlT.Any), NEW, ABSTRACT;
         (this: DIOPCGroupEvent) DataChange (TransactionID, NumItems: INTEGER; ClientHandles, ItemValues, Qualities, TimeStamps: CtlT.Any), NEW, ABSTRACT;
         (this: DIOPCGroupEvent) GetIID (OUT iid: COM.GUID);
         (this: DIOPCGroupEvent) Invoke (id, n: INTEGER; VAR par: CtlT.ParList; VAR ret: WinOleAut.VARIANT)
      END;

Как в другом модуле реализовать абстрактние методы этого типа?

Автор:  Вячеслав Бойко [ Среда, 20 Август, 2008 16:56 ]
Заголовок сообщения:  Re: Реализация абстрактних методов

Насколько я понимаю, так:
Код:
...
My_DIOPCGroupEvent = POINTER TO RECORD (DIOPCGroupEvent) END;
...
PROCEDURE (this: My_DIOPCGroupEvent) AsyncCancelComplete (CancelID: INTEGER);
BEGIN
END AsyncCancelComplete;
...

Автор:  hothing [ Среда, 20 Август, 2008 17:04 ]
Заголовок сообщения:  Re: Реализация абстрактних методов

Пробовал - кричит: Абстрактние методы в базовом типе. Базовый модуль модифицировать нельзя.

UPD
Вопрос снимается - разобрался.

Автор:  Вячеслав Бойко [ Среда, 20 Август, 2008 17:15 ]
Заголовок сообщения:  Re: Реализация абстрактних методов

Надо переопределить все абстрактные методы, тогда кричать перестанет.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/