components: chmhelp: fix few memory leaks

git-svn-id: trunk@21705 -
This commit is contained in:
paul 2009-09-14 23:44:35 +00:00
parent f36bf2c85a
commit a63bbb7f84

View File

@ -95,7 +95,6 @@ begin
fServerOut.Free; fServerOut.Free;
fServerIn.Free; fServerIn.Free;
inherited Destroy; inherited Destroy;
end; end;
function TLHelpConnection.ServerRunning: Boolean; function TLHelpConnection.ServerRunning: Boolean;
@ -121,6 +120,7 @@ begin
with TProcessUTF8.Create(nil) do begin with TProcessUTF8.Create(nil) do begin
CommandLine := ServerExe + ' --ipcname ' + NameForServer; CommandLine := ServerExe + ' --ipcname ' + NameForServer;
Execute; Execute;
Free;
end; end;
// give the server some time to get started // give the server some time to get started
for X := 0 to 40 do begin for X := 0 to 40 do begin
@ -135,47 +135,53 @@ end;
function TLHelpConnection.OpenURL(HelpFileName: String; Url: String): TLHelpResponse; function TLHelpConnection.OpenURL(HelpFileName: String; Url: String): TLHelpResponse;
var var
UrlRequest: TUrlRequest; UrlRequest: TUrlRequest;
Stream: TMemoryStream; Stream: TMemoryStream;
begin begin
Stream := TMemoryStream.Create; Stream := TMemoryStream.Create;
UrlRequest.FileRequest.FileName := HelpFileName+#0; try
UrlRequest.FileRequest.RequestType := rtURL; UrlRequest.FileRequest.FileName := HelpFileName+#0;
UrlRequest.Url := Url+#0; UrlRequest.FileRequest.RequestType := rtURL;
Stream.Write(UrlRequest,SizeOf(UrlRequest)); UrlRequest.Url := Url+#0;
Result := SendMessage(Stream); Stream.Write(UrlRequest,SizeOf(UrlRequest));
Result := SendMessage(Stream);
// Do I need to free the stream?? the example doesn't finally
Stream.Free;
end;
end; end;
function TLHelpConnection.OpenContext(HelpFileName: String; function TLHelpConnection.OpenContext(HelpFileName: String;
Context: THelpContext) : TLHelpResponse; Context: THelpContext) : TLHelpResponse;
var var
ContextRequest: TContextRequest; ContextRequest: TContextRequest;
Stream: TMemoryStream; Stream: TMemoryStream;
begin begin
Stream := TMemoryStream.Create; Stream := TMemoryStream.Create;
ContextRequest.FileRequest.FileName := HelpFileName+#0; try
ContextRequest.FileRequest.RequestType := rtContext; ContextRequest.FileRequest.FileName := HelpFileName+#0;
ContextRequest.HelpContext := Context; ContextRequest.FileRequest.RequestType := rtContext;
Stream.Write(ContextRequest, SizeOf(ContextRequest)); ContextRequest.HelpContext := Context;
Result := SendMessage(Stream); Stream.Write(ContextRequest, SizeOf(ContextRequest));
// Do I need to free the stream?? the example doesn't Result := SendMessage(Stream);
finally
Stream.Free;
end;
end; end;
function TLHelpConnection.OpenFile(HelpFileName: String): TLHelpResponse; function TLHelpConnection.OpenFile(HelpFileName: String): TLHelpResponse;
var var
FileRequest : TFileRequest; FileRequest : TFileRequest;
Stream: TMemoryStream; Stream: TMemoryStream;
begin begin
Stream := TMemoryStream.Create; Stream := TMemoryStream.Create;
FileRequest.RequestType := rtFile; try
FileRequest.FileName := HelpFileName+#0; FileRequest.RequestType := rtFile;
Stream.Write(FileRequest, SizeOf(FileRequest)); FileRequest.FileName := HelpFileName+#0;
Result := SendMessage(Stream); Stream.Write(FileRequest, SizeOf(FileRequest));
// Do I need to free the stream?? the example doesn't Result := SendMessage(Stream);
finally
Stream.Free;
end;
end; end;
end. end.