Autor Beitrag
Gudu23
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 17.05.10 17:50 
Hi,

ich habe einen Indy server mit folgendem Code:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TfrmMain.serverIndyDisconnect(AContext: TIdContext);
var I:Integer;
begin
    for I := 0 to gridClients.RowCount - 1 do
    begin
      if gridClients.Cells[0, I] = IntToStr(AContext.Binding.Handle) then
      begin
         gridClients.Rows[I].Delete(I);
      end;
    end;

    WriteLogEntry('Connection closed... (' + AContext.Binding.PeerIP+')');
end;

Leider funktioniert dies nicht, da die Binding.Handle in dem Moment schon tot ist.
Ich finde in den Indy-Membern keinen anderen eindeutigen Wert, die PeerIP ist zwar noch vorhanden und gültig, aber ja nicht eindeutig, grade was localhost / interne IPs angeht.

Jemand eine Idee, wie ich eine Eindeutigkeit feststelle um Daten in ein grid zu sammeln und auch nur die richtige Spalte wieder zu entfernen?

Moderiert von user profile iconNarses: Delphi-Tags hinzugefügt
Tryer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 226
Erhaltene Danke: 7



BeitragVerfasst: Mo 17.05.10 20:35 
Was ist mit Integer(AContext)?

Grüsse, Dirk