dataengine.pas
来自「FIR引擎最新源码+注册」· PAS 代码 · 共 98 行
PAS
98 行
unit DataEngine;
interface
uses
Windows, Classes, SysUtils, Share;
type
TDataDB = class(TThread)
DBCriticalSection: TRTLCriticalSection;
m_SuperUser: pTM2UserInfo;
m_GMList: TList;
m_UserList: TList;
private
procedure Run;
procedure ProcessSuper();
procedure ProcessGmUser();
procedure ProcessUser();
protected
procedure Execute; override;
public
constructor Create();
destructor Destroy; override;
end;
implementation
uses FMain;
{ TDataDB }
constructor TDataDB.Create;
begin
inherited Create(False);
InitializeCriticalSection(DBCriticalSection);
m_SuperUser := nil;
m_GMList := TList.Create;
m_UserList := TList.Create;
end;
destructor TDataDB.Destroy;
var
I: Integer;
begin
DeleteCriticalSection(DBCriticalSection);
inherited;
end;
procedure TDataDB.Execute;
resourcestring
sExceptionMsg = '[Exception] TDataDB::Execute';
begin
while (not Terminated) do begin
try
Run;
except
MainOutMessage(sExceptionMsg);
end;
Sleep(1);
end;
end;
procedure TDataDB.Run;
begin
ProcessSuper();
ProcessGmUser();
ProcessUser();
end;
procedure TDataDB.ProcessSuper();
begin
try
EnterCriticalSection(DBCriticalSection);
finally
LeaveCriticalSection(DBCriticalSection);
end;
end;
procedure TDataDB.ProcessGmUser();
begin
try
EnterCriticalSection(DBCriticalSection);
finally
LeaveCriticalSection(DBCriticalSection);
end;
end;
procedure TDataDB.ProcessUser();
begin
try
EnterCriticalSection(DBCriticalSection);
finally
LeaveCriticalSection(DBCriticalSection);
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?