приведенный вами пример немного запутал, но, поправьте тогда. В нем имеем процедуру TMethodDataSetOpen , она входит в объект A. и эта процедура присвоена переменной S. и эта сама переменная будет иметь 2 указателя. и при обращении к ней, будет затребована ссылка на класс, а потом и на саму процедуру.
Прочитаю про процедурные типы на выходных, чтобы не задавать глупых и некорректных вопросов.
А про интерфейся все же спрошу сейчас. В моем понмиании идет описание класса к которому мы прикручиваем интерфейс , потом ниже идет уже реализация вновь созданного нами класса. мне было бы более ясна третья строчка если она была бы ввиде:
type
ILoadable = interface
['{A10BFF6A-1C96-4401-87E6-10250D032448}']
procedure LoadStrings;
end;
TNewButton = class(TButton, ILoadable)
public
procedure LoadStrings;
end;
а в ранее приведенном примере все как-то запутано, не видно какие методы в интерфейсе, догадываюсь что они описаны в подлкючаемом модуле. но где реализация они прописаны в нвоом создаваемом классе TSequentialStreamAdapter ?
|