Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi TServerSocket: Abfrage von RemoteHost stoppt Programm (https://www.delphipraxis.net/86735-tserversocket-abfrage-von-remotehost-stoppt-programm.html)

Helmi 18. Feb 2007 21:12


TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Hallo,

ich hab seit neuersten ein Problem mit "RemoteHost von TServerSocket.

erst mal Code:
Delphi-Quellcode:
procedure TMainForm.ComboBox_ClientSelect(Sender: TObject);
var
  i, i_Item: Integer;
  S_Item: String;

begin
  //Variable leeren
  ausgewaehlter_Client := -1;

  //Text im ausgewähltem ComboBox-Eintrag auslesen
  i_Item := ComboBox_Client.ItemIndex;
  S_Item := ComboBox_Client.Items.Strings[I_Item];

  with ServerSocket.Socket do
    begin
      If i_Item > 0 then
        for i := 0 to Pred(ActiveConnections) do
          If Connections[i].RemoteHost = S_Item then //<<--hier wird gebremst
            begin
              //Wenn Name gefunden wurde, dann Variable beschreiben
              ausgewaehlter_Client := i;
              break;
            end;
      { ...}

    end;
end;
Wie man sieht, wird aus einer ComboBox der ausgewählte String in S_Item geschrieben und in der Schleife mit RemoteHost verglichen.
Und nun ist mir aufgefallen, dass in dieser Abfrage das Programm stoppt - richtig hängenbleibt für ein paar Sekunden.

Leider brauch ich diese Abfrage.
Weiss jemand, warum diese Abfrage stoppt und wie ich es umgehen kann?

Falls es jemanden interessiert: Die Variable "ausgewaehlter_Client" ist vom Typ Integer

IngoD7 19. Feb 2007 10:19

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Zitat:

Zitat von Helmi
Delphi-Quellcode:
procedure TMainForm.ComboBox_ClientSelect(Sender: TObject);
...
  with ServerSocket.Socket do
    begin
      If i_Item > 0 then
...

Damit wird bei Auswahl des ersten Eintrags der ComboBox (Index 0) nicht geprüft.
Ist das Absicht?

Helmi 19. Feb 2007 18:11

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Hallo,

ja - ich vergaß - dass der Index 0 nicht geprüft werden soll ist Absicht!
Das hat seinen Grund.

Ist aber leider nicht die Lösung des Problems

Helmi 4. Mär 2007 20:42

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
*push*

hat jemand ne ahnung wieso das hängt?

Zacherl 4. Mär 2007 20:52

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Eine Lösung hätte ich nicht direkt .. nur den Vorschlag evtl. auf die Indys umzusteigen =/

Helmi 4. Mär 2007 20:57

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
ne - bitte nicht solche Antworten!

ich tipp jetzt nicht mein ganze Projekte um (es betrifft mehrere) nur wegen dieser einen If-Abfrage

Zacherl 4. Mär 2007 21:11

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Ahso, ne dann ist klar .. würde ich auch nicht machen ..

Muss es der Host sein? Sonst könntest du ja mal: RemoteAddress versuchen.

Helmi 4. Mär 2007 21:23

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Hallo,

ich brauch leider RemoteHost um den Rechner-Namen rauszufinden

Zacherl 4. Mär 2007 21:28

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Geht es um ein Netzwerk Programm oder verbinden auch Rechner übers Internet?

Helmi 5. Mär 2007 04:43

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Hallo,

es verbinden sich nur Rechner im localen Netzwerk - also keine Internet-Verbindung

Methi 5. Mär 2007 21:30

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Hallo,
ich habe im Grunde diegleiche Routine bei mir, bis auf, das ich statt Pred High benutze... bei mir läuft es so ohne Probleme....

Helmi 7. Mär 2007 09:24

Re: TServerSocket: Abfrage von RemoteHost stoppt Programm
 
Hallo,

und du hast keine Probleme mit High?
Ich meine nur, dass es bei der Abfrage:
Delphi-Quellcode:
If Connections[i].RemoteHost = S_Item then
wohl zu einem Crash kommt, weil Connections ja ab Index 0 arbeitet und i ja größer werden könnte als das maximale i


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:42 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz