Fixed some bugs
Upgraded exception handler, now using madCollection
This commit is contained in:
parent
b17f277a1b
commit
2a2d5697b8
@ -24,6 +24,7 @@
|
|||||||
-$X+
|
-$X+
|
||||||
-$YD
|
-$YD
|
||||||
-$Z1
|
-$Z1
|
||||||
|
-GD
|
||||||
-cg
|
-cg
|
||||||
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE;
|
||||||
-H+
|
-H+
|
||||||
@ -33,6 +34,7 @@
|
|||||||
-K$00400000
|
-K$00400000
|
||||||
-LE"c:\programme\borland\delphi7\Projects\Bpl"
|
-LE"c:\programme\borland\delphi7\Projects\Bpl"
|
||||||
-LN"c:\programme\borland\delphi7\Projects\Bpl"
|
-LN"c:\programme\borland\delphi7\Projects\Bpl"
|
||||||
|
-DmadExcept
|
||||||
-w-UNSAFE_TYPE
|
-w-UNSAFE_TYPE
|
||||||
-w-UNSAFE_CODE
|
-w-UNSAFE_CODE
|
||||||
-w-UNSAFE_CAST
|
-w-UNSAFE_CAST
|
||||||
|
@ -80,7 +80,7 @@ UnsafeType=0
|
|||||||
UnsafeCode=0
|
UnsafeCode=0
|
||||||
UnsafeCast=0
|
UnsafeCast=0
|
||||||
[Linker]
|
[Linker]
|
||||||
MapFile=0
|
MapFile=3
|
||||||
OutputObjs=0
|
OutputObjs=0
|
||||||
ConsoleApp=1
|
ConsoleApp=1
|
||||||
DebugInfo=0
|
DebugInfo=0
|
||||||
@ -96,7 +96,7 @@ PackageDLLOutputDir=
|
|||||||
PackageDCPOutputDir=
|
PackageDCPOutputDir=
|
||||||
SearchPath=
|
SearchPath=
|
||||||
Packages=vcl;rtl;vclx;vclie;xmlrtl;inetdbbde;inet;inetdbxpress;VclSmp;dbrtl;dbexpress;vcldb;dsnap;dbxcds;inetdb;bdertl;vcldbx;adortl;teeui;teedb;tee;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;Rave50CLX;Rave50VCL;dclOffice2k;Indy70;DJcl;FlatStyle_D5;DelphiX_for7;mxFlatPack_D7;tbx_d7;tb2k_d7;mbTBXLibPack;TntUnicodeVcl_R70;SynEdit_R7
|
Packages=vcl;rtl;vclx;vclie;xmlrtl;inetdbbde;inet;inetdbxpress;VclSmp;dbrtl;dbexpress;vcldb;dsnap;dbxcds;inetdb;bdertl;vcldbx;adortl;teeui;teedb;tee;ibxpress;visualclx;visualdbclx;vclactnband;vclshlctrls;Rave50CLX;Rave50VCL;dclOffice2k;Indy70;DJcl;FlatStyle_D5;DelphiX_for7;mxFlatPack_D7;tbx_d7;tb2k_d7;mbTBXLibPack;TntUnicodeVcl_R70;SynEdit_R7
|
||||||
Conditionals=
|
Conditionals=madExcept
|
||||||
DebugSourceDirs=
|
DebugSourceDirs=
|
||||||
UsePackages=0
|
UsePackages=0
|
||||||
[Parameters]
|
[Parameters]
|
||||||
@ -115,7 +115,7 @@ AutoIncBuild=1
|
|||||||
MajorVer=1
|
MajorVer=1
|
||||||
MinorVer=0
|
MinorVer=0
|
||||||
Release=0
|
Release=0
|
||||||
Build=6
|
Build=7
|
||||||
Debug=0
|
Debug=0
|
||||||
PreRelease=1
|
PreRelease=1
|
||||||
Special=0
|
Special=0
|
||||||
@ -126,7 +126,7 @@ CodePage=1252
|
|||||||
[Version Info Keys]
|
[Version Info Keys]
|
||||||
CompanyName=AMX Mod X Dev Team
|
CompanyName=AMX Mod X Dev Team
|
||||||
FileDescription=
|
FileDescription=
|
||||||
FileVersion=1.0.0.6
|
FileVersion=1.0.0.7
|
||||||
InternalName=
|
InternalName=
|
||||||
LegalCopyright=
|
LegalCopyright=
|
||||||
LegalTrademarks=
|
LegalTrademarks=
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
program AMXX_Studio;
|
program AMXX_Studio;
|
||||||
|
|
||||||
uses
|
uses
|
||||||
|
madExcept,
|
||||||
|
madLinkDisAsm,
|
||||||
|
madScreenShot,
|
||||||
Forms,
|
Forms,
|
||||||
Windows,
|
Windows,
|
||||||
Messages,
|
Messages,
|
||||||
@ -34,6 +37,14 @@ uses
|
|||||||
UnitfrmConnGen in 'UnitfrmConnGen.pas' {frmConnGen},
|
UnitfrmConnGen in 'UnitfrmConnGen.pas' {frmConnGen},
|
||||||
UnitPlugins in 'UnitPlugins.pas';
|
UnitPlugins in 'UnitPlugins.pas';
|
||||||
|
|
||||||
|
{ Used components:
|
||||||
|
JVCL 3.0
|
||||||
|
FlatPack
|
||||||
|
FlatStyle
|
||||||
|
Toolbar2000, TBX, SpTBX, mbTBX Lib
|
||||||
|
Scintilla and DelphiSci
|
||||||
|
madExcept
|
||||||
|
|
||||||
{$R *.res}
|
{$R *.res}
|
||||||
|
|
||||||
var i: integer;
|
var i: integer;
|
||||||
|
Binary file not shown.
@ -287,7 +287,7 @@ end;
|
|||||||
function Between(eText, eFirst, eSecond: String): String;
|
function Between(eText, eFirst, eSecond: String): String;
|
||||||
var eTemp: String;
|
var eTemp: String;
|
||||||
begin
|
begin
|
||||||
if (Pos(eFirst, eText) = 0) or (Pos(eSecond, eText) = 0) then
|
if (Pos(eFirst, eText) = 0) and (Pos(eSecond, eText) = 0) then
|
||||||
Result := ''
|
Result := ''
|
||||||
else begin
|
else begin
|
||||||
eTemp := eText;
|
eTemp := eText;
|
||||||
|
@ -113,7 +113,9 @@ begin
|
|||||||
eString := RemoveStringsAndComments(Trim(eCode[i]), True);
|
eString := RemoveStringsAndComments(Trim(eCode[i]), True);
|
||||||
end
|
end
|
||||||
{ Included }
|
{ Included }
|
||||||
else if (IsAtStart('#include', eString)) then begin
|
else if (IsAtStart('#include', Trim(eCode[i]), False)) then begin
|
||||||
|
eString := Trim(eCode[i]);
|
||||||
|
|
||||||
if Between(eString, '<', '>') <> '' then begin
|
if Between(eString, '<', '>') <> '' then begin
|
||||||
eString := Between(eString, '<', '>');
|
eString := Between(eString, '<', '>');
|
||||||
if ExtractFileExt(eString) <> '' then
|
if ExtractFileExt(eString) <> '' then
|
||||||
@ -164,8 +166,8 @@ begin
|
|||||||
Result.CVars.AddObject(Between(eString, '"', '"'), TObject(i));
|
Result.CVars.AddObject(Between(eString, '"', '"'), TObject(i));
|
||||||
end
|
end
|
||||||
{ Defined }
|
{ Defined }
|
||||||
else if (IsAtStart('#define', eString)) then begin
|
else if (IsAtStart('#define', Trim(eCode[i]))) then begin
|
||||||
eString := Copy(eString, 8, Length(eString));
|
eString := Copy(Trim(eCode[i]), 8, Length(Trim(eCode[i])));
|
||||||
eString := Trim(eString);
|
eString := Trim(eString);
|
||||||
Result.CallTips.Add(eString + '-> ' + FileName);
|
Result.CallTips.Add(eString + '-> ' + FileName);
|
||||||
if Pos(#32, eString) <> 0 then
|
if Pos(#32, eString) <> 0 then
|
||||||
@ -177,8 +179,8 @@ begin
|
|||||||
end
|
end
|
||||||
{ Events (Part 1) }
|
{ Events (Part 1) }
|
||||||
else if (IsAtStart('register_event(', eString)) and (not IsRecursive) then begin
|
else if (IsAtStart('register_event(', eString)) and (not IsRecursive) then begin
|
||||||
if CountChars(eString, '"') >= 4 then begin
|
if CountChars(Trim(eCode[i]), '"') >= 4 then begin
|
||||||
eTemp := StringReplace(eString, '"' + Between(eString, '"', '"') + '"', '', []);
|
eTemp := StringReplace(Trim(eCode[i]), '"' + Between(Trim(eCode[i]), '"', '"') + '"', '', []);
|
||||||
ePreEvents.Add(Between(eString, '"', '"'));
|
ePreEvents.Add(Between(eString, '"', '"'));
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
object frmMain: TfrmMain
|
object frmMain: TfrmMain
|
||||||
Left = 312
|
Left = 254
|
||||||
Top = 331
|
Top = 332
|
||||||
Width = 888
|
Width = 888
|
||||||
Height = 640
|
Height = 640
|
||||||
Caption = 'AMXX-Studio'
|
Caption = 'AMXX-Studio'
|
||||||
@ -4180,45 +4180,45 @@ object frmMain: TfrmMain
|
|||||||
ImageIndex = -1
|
ImageIndex = -1
|
||||||
TabItem = 'tiTools'
|
TabItem = 'tiTools'
|
||||||
object spcBottom2: TImage
|
object spcBottom2: TImage
|
||||||
Left = 2
|
Left = 0
|
||||||
Top = 447
|
Top = 447
|
||||||
Width = 169
|
Width = 173
|
||||||
Height = 2
|
Height = 2
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
end
|
end
|
||||||
object spcLeft2: TImage
|
object spcLeft2: TImage
|
||||||
Left = 2
|
Left = 0
|
||||||
Top = 2
|
Top = 0
|
||||||
Width = 3
|
Width = 3
|
||||||
Height = 445
|
Height = 447
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
end
|
end
|
||||||
object spcRight2: TImage
|
object spcRight2: TImage
|
||||||
Left = 168
|
Left = 170
|
||||||
Top = 2
|
Top = 0
|
||||||
Width = 3
|
Width = 3
|
||||||
Height = 445
|
Height = 447
|
||||||
Align = alRight
|
Align = alRight
|
||||||
end
|
end
|
||||||
object pnlDock: TSpTBXMultiDock
|
object pnlDock: TSpTBXMultiDock
|
||||||
Left = 5
|
Left = 3
|
||||||
Top = 2
|
Top = 0
|
||||||
Width = 163
|
Width = 167
|
||||||
Height = 445
|
Height = 447
|
||||||
Position = dpxClient
|
Position = dpxClient
|
||||||
object pnlCodeExplorer: TSpTBXDockablePanel
|
object pnlCodeExplorer: TSpTBXDockablePanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'Code-Explorer'
|
Caption = 'Code-Explorer'
|
||||||
DockedWidth = 159
|
DockedWidth = 163
|
||||||
DockPos = 0
|
DockPos = 0
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnVisibleChanged = pnlCodeExplorerVisibleChanged
|
OnVisibleChanged = pnlCodeExplorerVisibleChanged
|
||||||
object trvExplorer: TTreeView
|
object trvExplorer: TTreeView
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 26
|
Top = 26
|
||||||
Width = 159
|
Width = 163
|
||||||
Height = 184
|
Height = 186
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Images = ilImages
|
Images = ilImages
|
||||||
Indent = 19
|
Indent = 19
|
||||||
@ -4246,16 +4246,16 @@ object frmMain: TfrmMain
|
|||||||
end
|
end
|
||||||
object pnlCodeInspector: TSpTBXDockablePanel
|
object pnlCodeInspector: TSpTBXDockablePanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 214
|
Top = 216
|
||||||
Caption = 'Code-Inspector'
|
Caption = 'Code-Inspector'
|
||||||
DockedWidth = 159
|
DockedWidth = 163
|
||||||
DockPos = 214
|
DockPos = 216
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnVisibleChanged = pnlCodeInspectorVisibleChanged
|
OnVisibleChanged = pnlCodeInspectorVisibleChanged
|
||||||
object jviCode: TJvInspector
|
object jviCode: TJvInspector
|
||||||
Left = 0
|
Left = 0
|
||||||
Top = 26
|
Top = 26
|
||||||
Width = 159
|
Width = 163
|
||||||
Height = 185
|
Height = 185
|
||||||
Align = alClient
|
Align = alClient
|
||||||
Divider = 80
|
Divider = 80
|
||||||
|
@ -118,7 +118,7 @@ begin
|
|||||||
eCache.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'config\Cache.cfg');
|
eCache.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'config\Cache.cfg');
|
||||||
for i := 1 to ParamCount do begin
|
for i := 1 to ParamCount do begin
|
||||||
if eCache.IndexOf(ParamStr(i)) = -1 then
|
if eCache.IndexOf(ParamStr(i)) = -1 then
|
||||||
eCache.Add(ParamStr(i));
|
eCache.Add(ParamStr(i));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
for i := 0 to eCache.Count -1 do begin
|
for i := 0 to eCache.Count -1 do begin
|
||||||
|
@ -1,198 +0,0 @@
|
|||||||
unit UnitfrmTextAnalyze;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses SysUtils, Classes;
|
|
||||||
|
|
||||||
type TPAWNParseResult = class
|
|
||||||
public
|
|
||||||
|
|
||||||
end
|
|
||||||
|
|
||||||
function ParseCodePAWN(eCode: TStringList): TPAWNParseResult;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
function ParseCodePAWN(eCode: TStringList): TPAWNParseResult;
|
|
||||||
var i, k: integer;
|
|
||||||
eTrimmed, eLowered, eNoComments: String;
|
|
||||||
eStr, ePreEvents: TStringList;
|
|
||||||
eStartLine, eBracesOpen: Integer;
|
|
||||||
eTemp: String;
|
|
||||||
begin
|
|
||||||
Synchronize(GetCodeAndPos);
|
|
||||||
eConstants.Clear;
|
|
||||||
eDefined.Clear;
|
|
||||||
eCVars.Clear;
|
|
||||||
eIncluded.Clear;
|
|
||||||
eMethodsDefault.Clear;
|
|
||||||
eMethodsEvents.Clear;
|
|
||||||
eStocks.Clear;
|
|
||||||
eNatives.Clear;
|
|
||||||
eForwards.Clear;
|
|
||||||
eVariables.Clear;
|
|
||||||
ePreEvents.Clear;
|
|
||||||
eBracesOpen := 0;
|
|
||||||
eCurrLine := 0;
|
|
||||||
eStartLine := -1;
|
|
||||||
for i := 0 to eCode.Count -1 do begin
|
|
||||||
eTrimmed := Trim(eCode[i]);
|
|
||||||
eLowered := LowerCase(eTrimmed);
|
|
||||||
eNoComments := RemoveStringsAndComments(eTrimmed);
|
|
||||||
|
|
||||||
{ Constants and Variables }
|
|
||||||
if (Pos('new ', eLowered) = 1) and (eBracesOpen = 0) then begin // const or variable
|
|
||||||
Delete(eTrimmed, 1, 4);
|
|
||||||
eLowered := Trim(eTrimmed);
|
|
||||||
// we don't need braces so delete them...
|
|
||||||
while (CountChars(eTrimmed, '{') = CountChars(eTrimmed, '}')) and (CountChars(eTrimmed, '{') <> 0) and (Pos('{', eTrimmed) < Pos('}', eTrimmed)) do
|
|
||||||
eTrimmed := StringReplace(eTrimmed, '{' + Between(eTrimmed, '{', '}') + '}', '', [rfReplaceAll]);
|
|
||||||
while (CountChars(eTrimmed, '[') = CountChars(eTrimmed, ']')) and (CountChars(eTrimmed, '[') <> 0) and (Pos('[', eTrimmed) < Pos(']', eTrimmed)) do
|
|
||||||
eTrimmed := StringReplace(eTrimmed, '[' + Between(eTrimmed, '[', ']') + ']', '', [rfReplaceAll]);
|
|
||||||
// done? okay, split all items if there are more than one; and if not, it's okay...
|
|
||||||
eStr.Text := StringReplace(eTrimmed, ',', #13, [rfReplaceAll]);
|
|
||||||
for k := 0 to eStr.Count -1 do begin
|
|
||||||
if Trim(eStr[k]) <> '' then begin
|
|
||||||
if Pos(':', eStr[k]) <> 0 then
|
|
||||||
eStr[k] := Copy(eStr[k], Pos(':', eStr[k]) +1, Length(eStr[k]));
|
|
||||||
eStr[k] := Trim(RemoveSemicolon(eStr[k]));
|
|
||||||
if Pos('=', eStr[k]) <> 0 then // constant
|
|
||||||
eConstants.AddObject(Copy(eStr[k], 1, Pos('=', eStr[k]) -1), TObject(i))
|
|
||||||
else
|
|
||||||
eVariables.AddObject(eStr[k], TObject(i));
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end
|
|
||||||
{ Included }
|
|
||||||
else if Pos('#include ', eLowered) = 1 then begin
|
|
||||||
if Between(eTrimmed, '<', '>') <> '' then begin
|
|
||||||
eTrimmed := Between(eTrimmed, '<', '>');
|
|
||||||
if ExtractFileExt(eTrimmed) <> '' then
|
|
||||||
ChangeFileExt(eTrimmed, '');
|
|
||||||
end
|
|
||||||
else if Between(eTrimmed, '"', '"') <> '' then begin
|
|
||||||
eTrimmed := Between(eTrimmed, '"', '"');
|
|
||||||
if ExtractFileExt(eTrimmed) <> '' then
|
|
||||||
ChangeFileExt(eTrimmed, '');
|
|
||||||
end
|
|
||||||
else begin
|
|
||||||
eTrimmed := Copy(eTrimmed, 9, Length(eTrimmed));
|
|
||||||
if ExtractFileExt(eTrimmed) <> '' then
|
|
||||||
ChangeFileExt(eTrimmed, '');
|
|
||||||
end;
|
|
||||||
eTrimmed := Trim(eTrimmed);
|
|
||||||
eIncluded.AddObject(eTrimmed, TObject(i));
|
|
||||||
end
|
|
||||||
{ CVars }
|
|
||||||
else if Pos('register_cvar(', eLowered) = 1 then begin
|
|
||||||
if Between(eTrimmed, '"', '"') <> '' then
|
|
||||||
eCVars.AddObject(Between(eTrimmed, '"', '"'), TObject(i));
|
|
||||||
end
|
|
||||||
{ Defined }
|
|
||||||
else if Pos('#define ', eLowered) = 1 then begin
|
|
||||||
eTrimmed := Copy(eTrimmed, 8, Length(eTrimmed));
|
|
||||||
eTrimmed := Trim(eTrimmed);
|
|
||||||
if Pos(#32, eTrimmed) <> 0 then
|
|
||||||
eTrimmed := Copy(eTrimmed, 1, Pos(#32, eTrimmed) -1);
|
|
||||||
eDefined.AddObject(eTrimmed, TObject(i));
|
|
||||||
end
|
|
||||||
{ Events (Part 1) }
|
|
||||||
else if Pos('register_event(', eLowered) = 1 then begin
|
|
||||||
if CountChars(eLowered, '"') >= 4 then
|
|
||||||
ePreEvents.Add(Between(eTrimmed, '"', '"'));
|
|
||||||
end;
|
|
||||||
|
|
||||||
{ Functions, this is adapted from AMXX-Edit v2 [see TextAnalyze.pas] }
|
|
||||||
if Pos('{', eNoComments) <> 0 then begin
|
|
||||||
if eStartLine = -1 then
|
|
||||||
eStartLine := i;
|
|
||||||
Inc(eBracesOpen, CountChars(eTrimmed, '{'));
|
|
||||||
end;
|
|
||||||
if Pos('}', eNoComments) <> 0 then begin
|
|
||||||
Inc(eBracesOpen, -CountChars(eTrimmed, '}'));
|
|
||||||
if (eBracesOpen = 0) then begin
|
|
||||||
eTemp := Trim(StringReplace(eCode[eStartLine], '{', '', [rfReplaceAll]));
|
|
||||||
// Analyze type
|
|
||||||
k := 0;
|
|
||||||
if Pos('public ', LowerCase(eTemp)) = 1 then
|
|
||||||
k := 1
|
|
||||||
else if Pos('stock ', LowerCase(eTemp)) = 1 then
|
|
||||||
k := 2
|
|
||||||
else if Pos('native ', LowerCase(eTemp)) = 1 then
|
|
||||||
k := 3
|
|
||||||
else if Pos('forward ', LowerCase(eTemp)) = 1 then
|
|
||||||
k := 4;
|
|
||||||
// Remove type
|
|
||||||
if (Pos(#32, eTemp) <> 0) and (Pos(#32, eTemp) < Pos('(', eTemp)) then
|
|
||||||
eTemp := Copy(eCode[eStartLine], Pos(#32, eCode[eStartLine]) +1, Length(eCode[eStartLine]));
|
|
||||||
// Copy function-name
|
|
||||||
if Pos('(', eTemp) <> 0 then
|
|
||||||
eTemp := Copy(eTemp, 1, Pos('(', eTemp) -1);
|
|
||||||
// Remove return-type
|
|
||||||
if Pos(':', eTemp) <> 0 then
|
|
||||||
Delete(eTemp, 1, Pos(':', eTemp));
|
|
||||||
eTemp := Trim(eTemp);
|
|
||||||
|
|
||||||
if eTemp <> '' then begin
|
|
||||||
case k of
|
|
||||||
0: eMethodsDefault.AddObject(eTemp, TObject(i)); // Default Method
|
|
||||||
1: begin
|
|
||||||
k := ePreEvents.IndexOf(eTemp);
|
|
||||||
if k <> -1 then begin
|
|
||||||
eMethodsEvents.AddObject(eTemp, ePreEvents.Objects[k]);
|
|
||||||
ePreEvents.Delete(k);
|
|
||||||
end
|
|
||||||
else
|
|
||||||
eMethodsDefault.AddObject(eTemp, TObject(i));
|
|
||||||
end;
|
|
||||||
2: eStocks.AddObject(eTemp, TObject(i));
|
|
||||||
3: eNatives.AddObject(eTemp, TObject(i));
|
|
||||||
4: eForwards.AddObject(eTemp, TObject(i));
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
eStartLine := -1;
|
|
||||||
eBracesOpen := -2;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
if (Pos('forward ', eLowered) = 1) or (Pos('public ', eLowered) = 1) or (Pos('native ', eLowered) = 1) or (Pos('stock ', eLowered) = 1) then begin
|
|
||||||
eBracesOpen := 0;
|
|
||||||
if ((Pos('{', eLowered) = 0)) or (Pos('{', eLowered) <> 0) and (Pos('}', eLowered) <> 0) then begin
|
|
||||||
eTemp := eTrimmed;
|
|
||||||
// Remove type
|
|
||||||
if (Pos(#32, eTemp) <> 0) and (Pos(#32, eTemp) < Pos('(', eTemp)) then
|
|
||||||
eTemp := Copy(eTemp, Pos(#32, eTemp) +1, Length(eTemp));
|
|
||||||
// Copy function-name
|
|
||||||
if Pos('(', eTemp) <> 0 then
|
|
||||||
eTemp := Copy(eTemp, 1, Pos('(', eTemp) -1);
|
|
||||||
// Remove return-type
|
|
||||||
if Pos(':', eTemp) <> 0 then
|
|
||||||
Delete(eTemp, 1, Pos(':', eTemp));
|
|
||||||
eTemp := Trim(eTemp);
|
|
||||||
|
|
||||||
if eTemp <> '' then begin
|
|
||||||
if Pos('forward', eLowered) = 1 then
|
|
||||||
eForwards.AddObject(eTrimmed, TObject(i))
|
|
||||||
else if Pos('public', eLowered) = 1 then begin
|
|
||||||
k := ePreEvents.IndexOf(eTemp);
|
|
||||||
if k <> -1 then begin
|
|
||||||
eMethodsEvents.AddObject(eTemp, ePreEvents.Objects[k]);
|
|
||||||
ePreEvents.Delete(k);
|
|
||||||
end
|
|
||||||
else
|
|
||||||
eMethodsDefault.Add(eTemp);
|
|
||||||
end
|
|
||||||
else if Pos('native', eLowered) = 1 then
|
|
||||||
eNatives.AddObject(eTemp, TObject(i))
|
|
||||||
else if Pos('stock', eLowered) = 1 then
|
|
||||||
eStocks.AddObject(eTemp, TObject(i))
|
|
||||||
else
|
|
||||||
eMethodsDefault.AddObject(eTemp, TObject(i));
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
Sleep(5);
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
Loading…
Reference in New Issue
Block a user