Menu

#102 TApplication.CreateHandle memory leak

open
nobody
None
5
2002-01-20
2002-01-20
No

File: QForms.pas

procedure TApplication.Destroy;
begin
...
for I := 0 to ParamCount-1 do
FreeMem(PCharArray(FArgv^)[I]);
...
end;

procedure TApplication.CreateHandle;
var
Argc: Integer;
I: Integer;
Method: TMethod;
Temp: string;
begin
//Argc := ParamCount + 1; //Original code
Argc := ParamCount; //This line changed by IgD
FArgv := AllocMem((Argc + 1) * SizeOf(PChar));
for I := 0 to Argc - 1 do
begin
Temp := ParamStr(I);
PCharArray(FArgv^)[I] := AllocMem(Length(Temp)+1);
StrCopy(PCharArray(FArgv^)[I], PChar(Temp));
end;
..
end;
Fix memory leak by changing first line to Argc :=
Paramcount;

Discussion


Log in to post a comment.

MongoDB Logo MongoDB