AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdTCPServer: Systemfehler code: 1400. Ungültiges Fensterhand
Thema durchsuchen
Ansicht
Themen-Optionen

IdTCPServer: Systemfehler code: 1400. Ungültiges Fensterhand

Ein Thema von NBG · begonnen am 9. Jul 2004
Antwort Antwort
NBG

Registriert seit: 21. Okt 2003
Ort: HH
19 Beiträge
 
#1

IdTCPServer: Systemfehler code: 1400. Ungültiges Fensterhand

  Alt 9. Jul 2004, 10:56
Ich habe eine Serveranwendung aufgebaut.
Sie sieht so aus:

beim Form.Create:
Delphi-Quellcode:
  Clients := TThreadList.Create;
  IdTCPServer.Active := True;
beim Form.IdTCPServer.Execute:
Delphi-Quellcode:
  if (AThread <> nil) and (not AThread.Terminated) and (AThread.Connection.Connected) then
  begin
    Code := AThread.Connection.ReadInteger;
    case Code of
      GET_CLIENTID: AddClient(AThread);
      ... // Verschidene Anweisungen an den Server.
    end;
  end;
beim Form.AddClient:
Delphi-Quellcode:
var
  Client: PClient;
  ID : Cardinal;
  errorcode: Integer;
begin
  errorcode:=0;
  try
    with Clients.LockList do
    begin
      try
        New(Client);
        Client^.ID := LfdID;
        Inc(LfdID);
        Client^.Report := nil;
        Add(Client);
      finally
        Clients.UnlockList;
      end;
    end;
  finally
    AThread.Connection.WriteInteger(errorcode);
  end;
  AThread.Connection.WriteInteger(Client^.ID);
end;
Beim Form.OnDestroy
Delphi-Quellcode:
  IdTCPServer.Active := false;

  with Clients.LockList do
  try
    for i := 0 to Count-1 do
    begin
      Dispose(Items[i]);
    end;
    Clients.Clear;
  finally
    Clients.UnlockList;
  end;

  Clients.Free;

Die Clientanwendung macht folgendes:

Delphi-Quellcode:
  with IdTCPClient1 do
  begin
    Connect;
    WriteInteger(GET_CLIENTID);
    if ReadInteger <> 0 then exit;
    ID := ReadInteger;
    ... //ein par befehle an den Server
    Disconnect;
  end;
Funktioniert wunderbar! ARBER! wenn ich den Server schliese bekomme ich volgende Fehlermeldung:
"Systemfehler code: 1400. Ungültiges Fensterhand"

Was ich schon alles Probiert habe:
Ich habe mal einen ThreadManager hinzugefügt.
Es sind aber bei beendigung des Servers, keinerlei Threads in der Liste.
in der IdServer.Treads auch nicht!

Hat jemand sonst noch eine Idee?
wäre cool wenn mir einer Helfen könte!

Thx!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 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