AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi IdTCPServer + MemoryLeak
Thema durchsuchen
Ansicht
Themen-Optionen

IdTCPServer + MemoryLeak

Ein Thema von azury · begonnen am 17. Feb 2010 · letzter Beitrag vom 8. Apr 2010
 
azury

Registriert seit: 18. Dez 2008
8 Beiträge
 
#1

IdTCPServer + MemoryLeak

  Alt 17. Feb 2010, 16:47
Hallöchen,

Ich hab wieder mal ein Problemchen, unzwar schau ich mir gerade die Indy Components für TCP verbindungen an
und musste feststellen, dass es scheinbar ein paar Probleme damit gibt.
(Indy 10 von Turbo Delphi)
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, IdTCPServer, IdComponent, IdContext;

type
  TMain = class(TForm)
    RichEdit1: TRichEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure OnConnect(AContext: TIdContext);
  public
    { Public-Deklarationen }
    Server: TIdTCPServer;
    procedure Log(Text: String; Farbe: Byte = 0);
  end;

var
  Main: TMain;

implementation

{$R *.dfm}

{ TForm1 }

procedure TMain.FormCreate(Sender: TObject);
begin
  ReportMemoryLeaksOnShutdown := True;

  Server := TIdTCPServer.Create(self);
  Server.DefaultPort := 1307;
  Server.OnConnect := OnConnect;
end;

procedure TMain.FormDestroy(Sender: TObject);
begin
  if (Server.Active) then
    Server.Active := False;
  Server.Free;
end;

procedure TMain.Log(Text: String; Farbe: Byte = 0);
var
  aFont: TFont;
begin
  aFont := TFont.Create;
  aFont.Name := 'Courier';
  aFont.Size := 10;
  case Farbe of
    0: aFont.color := clSilver;
    1: aFont.Color := clWhite;
    2: aFont.Color := clRed;
    3: aFont.color := clYellow;
    4: aFont.color := clLime;
    5: aFont.color := clAqua;
  end;
  RichEdit1.SelAttributes.Assign(aFont);
  RichEdit1.Lines.add(Format('[%s]: %s',[TimeToStr(now),Text]));
  aFont.Free;
end;

procedure TMain.OnConnect(AContext: TIdContext);
begin
  with aContext.Binding do
  begin
    Log('Incoming connection from '+PeerIP);
    Log('Checking IP...');
    Log('Connection Accepted from '+PeerIP);
  end;
end;

end.
Das ist der Code und ich bekomme folgende Message:
Zitat:
---------------------------
Unexpected Memory Leak
---------------------------
An unexpected memory leak has occurred. The unexpected small block leaks are:

1 - 12 bytes: TIdThreadSafeInteger x 1
21 - 28 bytes: TIdCriticalSection x 2
---------------------------
OK
---------------------------
Tja das sagt ja eigentlich nicht viel aus, aber vielleicht kann mir einer mal Verraten, wo ich sowas finde. Also die Entstehung der Leaks.

//Edit
Achja, es verbindet übrigends niemand, ich schließe das Programm ja gleich wieder.
Und ja, ich weiß, dass ich keine Prüfung der IP programmiert hab

CROSSPOST:
Delphi-forum.de
  Mit Zitat antworten Zitat
 


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 07:51 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