Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.14;
Скачать: CL | DM;

Вниз

Изменение свойств стандартных компонент   Найти похожие ветки 

 
aglar ©   (2002-11-02 10:16) [0]

Как к стандартному компоненту TСlientSocket добавить property типа string LocalStatus и сделать его доступным TServerSocket" у при вызове ServerSocket1.Socket.Connections[i].RemoteStatus?


 
Алексей Ким ©   (2002-11-02 10:20) [1]

http://mdelphi.far.ru/fclick/fclick.php?ad=sovet2view&url=http://mdelphi.far.ru/docs/view/sovet2.htm


 
Алексей Ким ©   (2002-11-02 10:21) [2]

не то...
http://mdelphi.far.ru/fclick/fclick.php?ad=26&url=http://mdelphi.far.ru/docs/view/m_compgauge2.htm


 
aglar ©   (2002-11-02 13:55) [3]

Там этого нет :)


 
aglar ©   (2002-11-02 14:03) [4]

Народ, не поленись!!! очень надо!


 
Эльф ©   (2002-11-03 08:25) [5]

Если просто добавить собственное свойство/метод:
Создай класс, унаследуй его от TSockets(не помню, в общем, то, откуда эти два компонента). Добавь свое свойство LocalStatus.
А реализация - не знаю ;)


 
aglar ©   (2002-11-03 09:46) [6]

Не ужели норманый ответ здесь так и не прозвучит???


 
Новенький в Делфи   (2002-11-03 13:11) [7]

на вскидку

interface

type
TMySocket = Class(TClientSocket)
public
LoacalStatus: String;
end;

var
MySocket: TMySocket;

теперь в OnCreate формы
MySocket:= TMySocket.Create();

а работай теперь с Socket-ом через эту переменную
так ты добывишь свою переменную, в класс, а фактически создашь свой класс.


 
Tano ©   (2002-11-03 13:29) [8]

Можно создать как свой компонент VCL, а код - как писал Новенький, но лучше (в смысле временных затрат) при малкньком изменениии сделать именно так как он написал. С новым компонентом будет много возни.


 
aglar ©   (2002-11-03 14:19) [9]

А как сделать это свойство доступным для ServerSocket? Я имею ввиду как ServerSocket.Socket.Connections[..].RemoteHost?


 
Tano ©   (2002-11-04 06:06) [10]

Если проследить родителей и конструкцию TServerSocket в файле ScktComp.pas, то видно, что тебе прийдется отредактировать класс TCustomWinSocket (Connections[i] возвращает указатель на объект этого класса). Посмотри сам, просто сделай поиск фразы "RemoteHost" в файле ScktComp.pas.
ScktComp.pas мне думается лучше не изменять - типа стандартный компонент VCL.
Короче, тебе прийдется либо делать себе копию файла, называть по-другому и отрихтовать классы по вкусу.
Использовать: либо ручками указывать в строке USES свой модуль, создавать, инициализировать в Run-Time,
либо регистрировать как свой компонент VCL (тут я помочь не могу - сам в этой теме плаваю).
Откровенно говоря Run-Time не так уж страшен - для тебя это будет даже удобнее (и для меня тоже :).
Принципиально другого способа решения проблемы не видится (если я хоть что-то понимаю в наследовании).



Страницы: 1 вся ветка

Текущий архив: 2002.11.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.017 c
3-45714
seter
2002-10-24 11:10
2002.11.14
Базы данных


3-45698
Vityanya
2002-10-27 03:12
2002.11.14
БД


1-45877
Strumpf
2002-11-05 15:40
2002.11.14
ПОМОГИТЕ, пожалуйста!


1-45827
Azazello
2002-11-05 11:41
2002.11.14
Сохранение в один файл


3-45720
VikOss
2002-10-23 17:51
2002.11.14
TUpdateQuery