ich bekomme immer den fehler
---------------------------
Debugger
Exception Notification
---------------------------
Project Project1.exe raised
exception class EThread with message 'Thread creation error: Für diesen Befehl ist nicht genügend Speicher verfügbar'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
wenn ich etwa 100 TIdTCPServer instanziieren will... die
exception passiert immer in TidThread ( die von
Indy benutzt wird )
hab schon versucht den stack zu vergrößern aber das brachte nix ( hat ja auch net so vield damit zu tun
hier bleibt der dinger stecken:
Delphi-Quellcode:
constructor TIdThread.Create(ACreateSuspended: Boolean);
begin
// Before inherited - inherited creates the actual thread and if not suspeded
// will start before we initialize
FStopped := ACreateSuspended;
FLock := TCriticalSection.Create;
inherited Create(ACreateSuspended);
{$IFNDEF VCL6ORABOVE}
if (ThreadID=0) then begin
RaiseLastWin32Error;
end;
{$ENDIF}
try // <---- ERROR
IncThread(SELF);
except end;
end;
der code womit ich instanziiere:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
server: Tidtcpserver;
begin
for i := 1 to 5000 do begin
server := Tidtcpserver.Create(nil);
server.DefaultPort := i;
server.Onconnect := form1.IdTCPServer1connect;
server.OnExecute := form1.IdTCPServer1Execute;
server.ListenQueue := 1; // <- hat auch nix gebracht
server.Active := true;
end;
end;
wie kann ich jetzt ca 65000 server auf verschiedenen ports instanziieren?
oder geht das einfacher und ressourcensparender mit einer anderen componente ?
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!