घर
Top.Mail.Ru Yandeks.Metrika
फोरम: "नेटवर्क";
वर्तमान संग्रह: 2002.04.01;
डाउनलोड करें: [xml.tar.bz2];

नीचे

TClientSocket और ऑनकनेक्ट ओवरराइड इसी तरह की शाखाएँ खोजें


eblade   (2002-01-16 22:18) [0]

В общем, задача такая. Мне нужно сделать класс1 с полем, наследником от TClientSocket и подвесить
на событие OnConnect, OnDisconnect данного поля вызов процедур класса1 (класа-владельца). Как это
можно осуществить? Буду очень признателен за ответ.



Digitman   (2002-01-17 10:55) [1]

इंटरफेस

Ткласс1 = class(TClientSocket)
procedure MyConnectProc(Sender: TCustomWinSocket);
procedure MyDisConnectProc(Sender: TCustomWinSocket);

सार्वजनिक
निर्माता बनाएँ (AOwner: TComponent);
अंत;
...

कार्यान्वयन

constructor Ткласс1.Create(AOwner: TComponent);
शुरू करना
विरासत में मिला बनाएँ (AOwner);
OnConnect:= MyConnectProc;
OnDisconnect:= MyDisconnectProc;
अंत;



eblade   (2002-01-17 19:55) [2]

спасибо, но чуть-чуть не то
я спрашивал, как повесить но ОнКоннект поля вызов процедуры владельца... объясню

Ткласс1 = class(TComponent)
निजी
CS: TClientSocket;
सार्वजनिक
procedure OnConnect(i: integer);
अंत;
...

как на онКоннект CS повесить вызов OnConnect Ткласс1 c i, к примеру = 1?



Digitman   (2002-01-18 09:20) [3]

не знаю, в какой момент у тебя создается экз-р TClientSocket, поэтому поместил его создание в конструктор твоего класса

Ткласс1 = class(TComponent)
private
CS: TClientSocket;
...
procedure ConnectEventHandler(Sender: TObject; Socket: TCustomWinSocket);
procedure OnConnect(i: integer);
...
public
constructor Create(AOwner: TComponent);
destructor Destroy; override;
end;
...

implementation

constructor Ткласс1.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
CS:= TClientSocket.Create(nil);
CS.OnConnect:= ConnectEventHandler;
end;

destructor Ткласс1.Destroy;
begin
CS.Free;
inherited;
end;

procedure Ткласс1.ConnectEventHandler(Sender: TObject; Socket: TCustomWinSocket);
begin
OnConnect(1);
end;




eblade   (2002-01-18 13:54) [4]

сенкс, это то что надо

еще один вопрос
как поступить в случае если у меня CS - будет список наследников от ТКлиентСокет с добавленным уникальным идом, который мне нужно будет передать в Ткласс1.ConnectEventHandler?



Digitman   (2002-01-18 14:36) [5]


Ткласс1 = class(TComponent)
private
CS: TList;
...
procedure ConnectEventHandler(Sender: TObject; Socket: TCustomWinSocket);
procedure OnConnect(i: integer);
...
public
constructor Create(AOwner: TComponent);
destructor Destroy; override;
end;
...

implementation

constructor Ткласс1.Create(AOwner: TComponent);
var
i: Integer;
newsocket: TClientSocket;
begin
inherited Create(AOwner);
CS:= TList.Create;
for i:= 0 to ..... do begin
newsocket:= TClientSocket.Create(nil);
newsocket.OnConnect:= ConnectEventHandler;
CS.Add(newsocket);
end;
end;

destructor Ткласс1.Destroy;
var
i: Integer;
begin
for i:= 0 to CS.Count - 1 do
TObject(CS.Items[i]).Free;
CS.Free;
inherited;
end;

procedure Ткласс1.ConnectEventHandler(Sender: TObject; Socket: TCustomWinSocket);
begin
OnConnect(CS.IndexOf(Socket));
end;



eblade   (2002-01-18 22:31) [6]

огромное спасибо еще раз



पन्ने: 1 पूरी शाखा

फोरम: "नेटवर्क";
वर्तमान संग्रह: 2002.04.01;
डाउनलोड करें: [xml.tar.bz2];

ऊपर









मेमोरी: 0.57 एमबी
समय: 0.02 c
3-28
volodya_
2002-03-06 18:01
2002.04.01
QReport


1-108
एकदम नया
2002-03-21 13:25
2002.04.01
LongInt प्रारूप में आईपी कैसे सीखें


1-212
serg
2002-03-20 13:02
2002.04.01
क्लासनाम से TClass


1-147
कयामत
2002-03-20 09:29
2002.04.01
पहली नज़र में, सवाल सरल है ...


6-279
Pimin
2002-01-18 03:08
2002.04.01
Twebbrowserom फॉर्म भरें





अफ्रीकी अल्बानियन अरबी भाषा अर्मेनियाई आज़रबाइजानी बस्क बेलारूसी बल्गेरियाई कैटलन सरलीकृत चीनी) चीनी पारंपरिक) क्रोएशियाई चेक डेनिश डच अंग्रेज़ी एस्तोनियावासी फिलिपिनो फिनिश फ्रेंच
गैलिशियन् जॉर्जियाई जर्मन यूनानी हाईटियन यहूदी हिंदी हंगरी आइसलैंड का इन्डोनेशियाई आयरिश इतालवी जापानी कोरियाई लात्वीयावासी लिथुआनियाई मेसीडोनियन मलायी मोलतिज़ नार्वेजियन
फ़ारसी पोलिश पुर्तगाली रोमानियाई रूसी सर्बियाई स्लोवाक स्लोवेनियाई स्पेनिश स्वाहिली स्वीडिश थाई तुर्की यूक्रेनी उर्दू वियतनामी वेल्श यहूदी बंगाली बोस्नियाई
सिबुआनो एस्पेरांतो गुजराती हौसा हमोंग ईग्बो जावानीस कन्नड़ खमेर लाओ लैटिन माओरी मराठी मंगोलियन नेपाली पंजाबी सोमाली तामिल तेलुगु योरूबा
ज़ुलु
Английский Французский Немецкий Итальянский Португальский Русский Испанский