ВУЗ:
Составители:
Рубрика:
ля становится равно 0, интерфейсный объект уничтожается и освобож-
дается занимаемая им память. Если интерфейс предполагается исполь-
зовать в технологиях COM/DCOM или CORBA, его методы должны
описывать с директивой stdcall или (для объектов автоматизации)
safecall
К интерфейсному объекту можно применить оператор приведения
типов as, чтобы использовать нужный интерфейс:
procedure PaintObjects(P: TInterfacedObject) var X: IPaint;
begin
try
X:= P as IPaint;
X.CirclePaint(PaintBoxl.Canvas,0,0,20)
except
ShowMessage('Объект не поддерживает интерфейс IPaint')
end
end;
Встретив такое присваивание, компилятор создаст код, с помо-
щью которого вызывается метод Queryinterface интерфейса IUnknow с
требованием вернуть ссылку на интерфейс IPaint. Если объект не под-
держивает указанный интерфейс, возникает исключительная ситуация.
Интерфейсы, рассчитанные на использование в удаленных объек-
тах, должны снабжаться глобально-уникальным идентификатором
(guiD). Наиболее подробно работа с интерфейсами рассмотрена в [1, 5, 7,
8].
2.8. Файлы
Под файлом понимается именованная область внешней памяти
ПК (жесткого диска, гибкой дискеты, диска CD-ROM).
Любой файл имеет три характерные особенности:
• у файла есть имя, что дает возможность программе работать од-
новременно с несколькими файлами;
• файл содержит компоненты одного типа. Типом компонентов мо-
жет быть любой тип Object Pascal, кроме файлов. Иными словами,
нельзя создать “файл файлов”;
• длина вновь создаваемого файла никак не оговаривается при его
объявлении и ограничивается только емкостью устройств внеш-
ней памяти.
Файловый тип можно задать одним из трех способов:
78
Страницы
- « первая
- ‹ предыдущая
- …
- 76
- 77
- 78
- 79
- 80
- …
- следующая ›
- последняя »
