![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Установка обработчика событий в SomeClass
Pirat1 © (2004-11-23 15:23:00)Есть класс TSomeClass, в котором есть событие OnSomeVarChanged.
Вопрос таков:
Как назначить для всех созданных обьектов TSomeClass один обработчик? и как в етом обработчике различать какой именно обьект сработал?
Пробовал писать @TSomeClass.OnSomeVarChanged := @SomeProcedure - не помогает?
Pirat1 (2004-11-23 17:40:00) [1]Все понял. Всем ОГРОМНОЕ спасибо!
Digitman (2004-11-23 17:28:00) [2]
> Pirat1 (23.11.04 17:24) [31]
если при конструировании объекта В при вызове его конструктора в кач-ве параметра "Владелец" был указан объект А, то перед уничтожением объекта А автоматически будет уничтожен объект В
Pirat1 (2004-11-23 17:24:00) [3]
> Digitman ©
а на что ето влияет?
Обьект сокет то у меня внутри класса (покрайней мере я хочу так и его события тоже обрабатывать внутри класса).
Digitman (2004-11-23 17:22:00) [4]
> Что в скобках ему указать?
что хочешь, то и укажи .. или nil ..
лишь бы "это", если не nil, было наследником TComponent
Pirat1 (2004-11-23 17:20:00) [5]а как лучше? :-)
Reindeer Moss Eater (2004-11-23 17:18:00) [6]Что в скобках ему указать?
Если я укажу Form1 - то будет ли он скрыт за пределами класса?
От этого это не зависит
Pirat1 (2004-11-23 17:16:00) [7]
> begin...end ©
Да, действительно!
Еще такой вопрос: MySocket := TClientSocket.Create();
Что в скобках ему указать?
Если я укажу Form1 - то будет ли он скрыт за пределами класса?
Как я уже писал:
У меня много обьектов класса, и я хочу чтобы сокет был встроен внутрь класса! (т.е. каждый обьект внутри себя будет иметь сокет)
begin...end (2004-11-23 17:13:00) [8]
> [24] Pirat1 (23.11.04 17:09)
> ScktComp ???
Да.
Digitman (2004-11-23 17:13:00) [9]
> имеею ввиду
вот что имеешь, то вводи !
ид-р "TClientSocket" д.б. объявлен перед первым к нему обращением.
это - ПАСКАЛЬ !
Pirat1 (2004-11-23 17:09:00) [10]
> Digitman ©
я имеею ввиду MySocket : TClientSocket;
на нее он ругаеться!
> begin...end © (23.11.04 17:04) [23]
ScktComp ???
begin...end (2004-11-23 17:04:00) [11]
> [17] Pirat1 (23.11.04 16:49)
Может быть, следует попробовать добавить в список uses модуля, в котором объявляется TSomeClass, модуль, в котором объявлен TClientSocket?
Digitman (2004-11-23 17:04:00) [12]
> "Undeclared identifier: '<element>'"
и опять лапшу вешаешь !
в приведенном в [17] тексте нет никакого ид-ра с именем element.
Pirat1 (2004-11-23 16:59:00) [13]Может ктото подсказать что у меня в [17] нетак?
Pirat1 (2004-11-23 16:54:00) [14]
> Anatoly Podgoretsky
не думал, что ето важная деталь, пока не понял что именно из-за етой "мелочи" у меня и ошибка!
Anatoly Podgoretsky (2004-11-23 16:52:00) [15]Pirat1 (23.11.04 16:42) [15]
То есть ты предствил на заведомо неверный код.
Pirat1 (2004-11-23 16:51:00) [16]
> Digitman © (23.11.04 16:46) [16]
Я не вешаю!.. я в [13] написало ето! :-)
Pirat1 (2004-11-23 16:49:00) [17]Обясните мне пожалуйста как мне в моей классе "всунуть" ClientSocket?
Пытаюсь:
type TSomeClass = class
private
MySocket : TClientSocket;
...................
public
constructor Create;
destructor Destroy;
end;
constructor TSomeClass.Create;
begin
inherited Create;
MySocket:=TClientSocket.Create;
end;
Компилятор ругаеться: "Undeclared identifier: '<element>'"
TClientSocket у меня точно установлен (Delphi7)!
Как правильно?
Digitman (2004-11-23 16:46:00) [18]
> Pirat1 (23.11.04 16:42) [15]
вот и не вешай впредь людям лапшу !
Pirat1 (2004-11-23 16:42:00) [19]
> begin...end ©
Нет, как раз в том месте у меня New_Object уже New_Object : Object;
begin...end (2004-11-23 16:34:00) [20]
> [13] Pirat1 (23.11.04 16:31)
Но ведь ПЕРЕМЕННАЯ New_Object как была переменной типа TSomeClass, так и осталась.