![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как поднять форму через интерфейс
Matveih1 © (2008-05-07 17:52:00)Есть основная программа. Есть Unit где описан Interface
type
IMayIntf = interface
['{223F0F2B-6C50-4DA9-8583-C210B6DD6A6A}']
procedure _ShowModal;
end;
Есть BPL реализующий интерфейс.
type
TForm1 = class(TForm, IMayIntf)
private
{ Private declarations }
procedure _ShowModal;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ TForm1 }
procedure TForm1._ShowModal;
begin
ShowModal;
end;
Как поднять форму Form1 через интерфейс из основной программы?
Matveih1 (2008-05-07 18:20:00) [21]Можешь написать хороший пример! Уже месяц пытаюсь но ничего не получается.
Как в основной программе надо написать?
Form1.QueryInterface(IMayIntf, f);
Но в основной программе не объявленн класс Form1.
Приведи рабочий пример.
Reindeer Moss Eater (2008-05-07 18:10:00) [22]QueryInterface - метод класса. Запрашивать его надо у объекта реализующего этот интерфейс. А ты у кого его запрашиваешь?
У формы основного приложения?
Matveih1 (2008-05-07 18:02:00) [23]
var
f: IMayIntf;
begin
QueryInterface(IMayIntf, f);
f._ShowModal;
end;
так не работает.
Reindeer Moss Eater (2008-05-07 17:59:00) [24]QueryInterface
Matveih1 (2008-05-07 17:58:00) [25]Хорошо. Как получить интерфейс? Приведи пример если не сложно!
Reindeer Moss Eater (2008-05-07 17:55:00) [26]Получить интерфейс, вызвать _ShowModal