36 lines
933 B
ObjectPascal
36 lines
933 B
ObjectPascal
program NILM_Agent;
|
|
|
|
uses
|
|
Forms,
|
|
Windows,
|
|
Dialogs,
|
|
uMain in 'uMain.pas' {frmMain},
|
|
MQTT in '..\Lib\MQTT.pas',
|
|
uConfigMQTT in 'uConfigMQTT.pas' {frmConfigMQTT},
|
|
uConfigNILM in 'uConfigNILM.pas' {frmNILM},
|
|
uDevConfig in 'uDevConfig.pas' {frmDevConfig},
|
|
global in '..\Lib\global.pas';
|
|
|
|
{$R *.res}
|
|
const
|
|
MUTEX_NAME = 'NILM Manager';
|
|
var
|
|
mMutex: THandle;
|
|
|
|
begin
|
|
// mutex 열기
|
|
mMutex := OpenMutex(MUTEX_ALL_ACCESS, False, MUTEX_NAME);
|
|
// mutex 이미 있다면 실행 중지
|
|
if mMutex <> 0 then Exit;
|
|
// 없으면 mutex만들고 시작
|
|
mMutex := CreateMutex(nil, True, MUTEX_NAME);
|
|
|
|
Application.Initialize;
|
|
Application.Title := 'NILM Manager';
|
|
Application.CreateForm(TfrmMain, frmMain);
|
|
Application.CreateForm(TfrmConfigMQTT, frmConfigMQTT);
|
|
Application.CreateForm(TfrmNILM, frmNILM);
|
|
Application.CreateForm(TfrmDevConfig, frmDevConfig);
|
|
Application.Run;
|
|
end.
|