![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли управлять классом через TComponent ? [D7, WinXP]
Zoom © (2010-05-15 19:46:00)var
TCPClient: TIdTCPClient;
AOwner: TComponent;
begin
TCPClient := TIdTCPClient.Create(self);
AOwner := TCPClient.Owner;
TIdTCPClient(AOwner).Connect('127.7.0.1', 3615);
TIdTCPClient(AOwner).IOHandler.Write('Hello');
end;
Access violation at address... а почему ?
существует ли у класса некое подобие handle, зная которое можно управлять классом например из других классов ?
Харакири (2010-05-15 21:36:00) [21]
var
TCPClient: TIdTCPClient;
begin
TCPClient := TIdTCPClient.Create(self);
TCPClient.Connect('127.7.0.1', 3615);
TCPClient.IOHandler.Write('Hello');
end;
...и нечего городить огород.
~AQUARIUS~ (2010-05-15 20:29:00) [22]
var
TCPClient: TIdTCPClient;
c: TComponent;
begin
TCPClient := TIdTCPClient.Create(self);
TCPClient.Name := {уникальное имя};
c := FindComponent({ранее указанное имя});
if Assigned(c) then
begin
TIdTCPClient(c).Connect('127.7.0.1', 3615);
TIdTCPClient(c).IOHandler.Write('Hello');
end;
end;
Плохиш (2010-05-15 20:14:00) [23]
> AOwner := TCPClient.Owner;
> TIdTCPClient(AOwner).Connect('127.7.0.1', 3615);
>
Какое отношение ваш self имеет к классу TIdTCPClient, что вы его к нему приводите?