![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение свойств стандартных компонент [D5, Win95/98]
aglar © (2002-11-02 10:16:00)Как к стандартному компоненту TСlientSocket добавить property типа string LocalStatus и сделать его доступным TServerSocket" у при вызове ServerSocket1.Socket.Connections[i].RemoteStatus?
Tano (2002-11-04 06:06:00) [1]Если проследить родителей и конструкцию TServerSocket в файле ScktComp.pas, то видно, что тебе прийдется отредактировать класс TCustomWinSocket (Connections[i] возвращает указатель на объект этого класса). Посмотри сам, просто сделай поиск фразы "RemoteHost" в файле ScktComp.pas.
ScktComp.pas мне думается лучше не изменять - типа стандартный компонент VCL.
Короче, тебе прийдется либо делать себе копию файла, называть по-другому и отрихтовать классы по вкусу.
Использовать: либо ручками указывать в строке USES свой модуль, создавать, инициализировать в Run-Time,
либо регистрировать как свой компонент VCL (тут я помочь не могу - сам в этой теме плаваю).
Откровенно говоря Run-Time не так уж страшен - для тебя это будет даже удобнее (и для меня тоже :).
Принципиально другого способа решения проблемы не видится (если я хоть что-то понимаю в наследовании).
aglar (2002-11-03 14:19:00) [2]А как сделать это свойство доступным для ServerSocket? Я имею ввиду как ServerSocket.Socket.Connections[..].RemoteHost?
Tano (2002-11-03 13:29:00) [3]Можно создать как свой компонент VCL, а код - как писал Новенький, но лучше (в смысле временных затрат) при малкньком изменениии сделать именно так как он написал. С новым компонентом будет много возни.
Новенький в Делфи (2002-11-03 13:11:00) [4]на вскидку
interface
type
TMySocket = Class(TClientSocket)
public
LoacalStatus: String;
end;
var
MySocket: TMySocket;
теперь в OnCreate формы
MySocket:= TMySocket.Create();
а работай теперь с Socket-ом через эту переменную
так ты добывишь свою переменную, в класс, а фактически создашь свой класс.
aglar (2002-11-03 09:46:00) [5]Не ужели норманый ответ здесь так и не прозвучит???
Эльф (2002-11-03 08:25:00) [6]Если просто добавить собственное свойство/метод:
Создай класс, унаследуй его от TSockets(не помню, в общем, то, откуда эти два компонента). Добавь свое свойство LocalStatus.
А реализация - не знаю ;)
aglar (2002-11-02 14:03:00) [7]Народ, не поленись!!! очень надо!
aglar (2002-11-02 13:55:00) [8]Там этого нет :)
Алексей Ким (2002-11-02 10:21:00) [9]не то...
http://mdelphi.far.ru/fclick/fclick.php?ad=26&url=http://mdelphi.far.ru/docs/view/m_compgauge2.htm
Алексей Ким (2002-11-02 10:20:00) [10]http://mdelphi.far.ru/fclick/fclick.php?ad=sovet2view&url=http://mdelphi.far.ru/docs/view/sovet2.htm