Ich habe mal eine kleine Verständnisfrage:
In der Indydemo für einen HTTP Server wird ein TFileStream.Create aufgerufen und damit wird doch eine Instanz erzeugt, die nie mehr freigegeben wird, oder versteh ich jetzt was falsch?
Delphi-Quellcode:
procedure TForm1.IdHTTPServer1CommandGet(AContext: TIdContext;
ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo);
var
LFilename:
string;
LPathname:
string;
begin
LFilename := ARequestInfo.Document;
if AnsiSameText(LFilename, '
/eliza.html')
then begin
Ask(ARequestInfo, AResponseInfo);
end else begin
if LFilename = '
/'
then begin
LFilename := '
/index.html';
end;
LPathname := FHTMLDir + LFilename;
if FileExists(LPathname)
then begin
AResponseInfo.ContentStream := TFileStream.Create(LPathname, fmOpenRead + fmShareDenyWrite);
//<-- das hier meine ich
end else begin
AResponseInfo.ResponseNo := 404;
AResponseInfo.ContentText := '
The requested URL ' + ARequestInfo.Document
+ '
was not found on this server.';
end;
end;
end;