Fixed memory leak

Updated Modified-Event (now only one parameter [the modified text])
This commit is contained in:
Christian Hammacher
2005-09-07 22:20:28 +00:00
parent 80048eba61
commit 7c21deb0f2
10 changed files with 155 additions and 85 deletions

View File

@ -113,9 +113,7 @@ begin
eString := RemoveStringsAndComments(Trim(eCode[i]), True);
end
{ Included }
else if (IsAtStart('#include', Trim(eCode[i]), False)) then begin
eString := Trim(eCode[i]);
else if (IsAtStart('#include', eString)) then begin
if Between(eString, '<', '>') <> '' then begin
eString := Between(eString, '<', '>');
if ExtractFileExt(eString) <> '' then
@ -141,6 +139,7 @@ begin
if (eString <> '') and (FileExists(eTemp)) then begin
// Load code and parse
eTempResult := nil;
try
eStr.LoadFromFile(eTemp);
if Application.Terminated then exit;
@ -150,11 +149,11 @@ begin
Result.CallTips.AddStrings(eTempResult.CallTips);
Result.HighlightKeywords.AddStrings(eTempResult.HighlightKeywords);
// free
eTempResult.DestroyResult;
eTempResult := nil;
except
// mmmm.. burger
end;
if Assigned(eTempResult) then
eTempResult.DestroyResult;
// wait
Sleep(20);
end;
@ -166,8 +165,8 @@ begin
Result.CVars.AddObject(Between(eString, '"', '"'), TObject(i));
end
{ Defined }
else if (IsAtStart('#define', Trim(eCode[i]))) then begin
eString := Copy(Trim(eCode[i]), 8, Length(Trim(eCode[i])));
else if (IsAtStart('#define', eString)) then begin
eString := Copy(eString, 8, Length(eString));
eString := Trim(eString);
Result.CallTips.Add(eString + '-> ' + FileName);
if Pos(#32, eString) <> 0 then
@ -179,8 +178,8 @@ begin
end
{ Events (Part 1) }
else if (IsAtStart('register_event(', eString)) and (not IsRecursive) then begin
if CountChars(Trim(eCode[i]), '"') >= 4 then begin
eTemp := StringReplace(Trim(eCode[i]), '"' + Between(Trim(eCode[i]), '"', '"') + '"', '', []);
if CountChars(eString, '"') >= 4 then begin
eTemp := StringReplace(eString, '"' + Between(eString, '"', '"') + '"', '', []);
ePreEvents.Add(Between(eString, '"', '"'));
end;
end;
@ -403,4 +402,3 @@ finalization
end.