You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RnQ/RnQ/RnQx64.dpr

147 lines
4.8 KiB
Plaintext

program RnQx64;
{$I NoRTTI.inc}
{$I RnQConfig.inc}
{$R 'images.res' 'Res\images.rc'}
uses
{$IFDEF madExcept}
madExcept,
{$ENDIF madExcept}
Winapi.Windows,
System.Win.ComObj,
System.SysUtils,
Vcl.Forms,
SciterLib in 'SciterLib.pas',
mainDlg in 'mainDlg.pas',
RDGlobal in '..\For.RnQ\RTL\RDGlobal.pas',
RnQBinUtils in '..\For.RnQ\RTL\RnQBinUtils.pas',
RnQGraphics32 in '..\For.RnQ\RTL\RnQGraphics32.pas',
RnQGlobal in '..\For.RnQ\RnQGlobal.pas',
RQUtil in '..\For.RnQ\RQUtil.pas',
RnQLangs in '..\For.RnQ\RnQLangs.pas',
RnQStrings in '..\For.RnQ\RnQStrings.pas',
RQThemes in '..\For.RnQ\RQThemes.pas',
RnQNet in '..\For.RnQ\RnQNet.pas',
RQlog in '..\For.RnQ\RQlog.pas',
RnQDialogs in '..\For.RnQ\RnQDialogs.pas',
RnQPrefsLib in '..\For.RnQ\RnQPrefsLib.pas',
roasterLib in 'roasterLib.pas',
ThemesLib in 'ThemesLib.pas',
globalLib in 'globalLib.pas',
history in 'history.pas',
events in 'events.pas',
aboutDlg in 'aboutDlg.pas',
selectcontactsDlg in 'selectcontactsDlg.pas',
usersDlg in 'usersDlg.pas',
iniLib in 'iniLib.pas',
utilLib in 'utilLib.pas',
authreqDlg in 'authreqDlg.pas' {authreqFrm},
pluginLib in 'pluginLib.pas',
outboxLib in 'outboxLib.pas',
outboxDlg in 'outboxDlg.pas',
uinlistlib in 'uinlistlib.pas',
groupsLib in 'groupsLib.pas',
langLib in 'langLib.pas',
RnQdbDlg in 'RnQdbDlg.pas',
RnQMacros in 'RnQMacros.pas',
prefSheet in 'prefSheet.pas',
RnQ_Avatars in 'RnQ_Avatars.pas',
hook in 'hook.pas',
RnQTips in 'RnQTips.pas',
HistAllSearch in 'HistAllSearch.pas',
Protocols_All in 'Protocols_All.pas',
ICQContacts in 'ICQ\ICQContacts.pas',
RQCodes in 'ICQ\RQCodes.pas',
viewinfoDlg in 'ICQ\viewinfoDlg.pas',
ICQSession in 'ICQ\ICQSession.pas',
ICQConsts in 'ICQ\ICQConsts.pas',
StatusForm in 'StatusForm.pas',
Protocol_ICQ in 'ICQ\Protocol_ICQ.pas',
RnQTrayLib in '..\For.RnQ\RnQTrayLib.pas',
ICQClients in 'ICQ\ICQClients.pas',
RnQLangFrm in '..\For.RnQ\RnQLangFrm.pas',
RnQSysUtils in '..\For.RnQ\RnQSysUtils.pas',
RDUtils in '..\For.RnQ\RTL\RDUtils.pas',
Stickers in 'ICQ\Stickers.pas',
SQLiteDB in 'SQLiteDB.pas',
RDFileUtil in '..\For.RnQ\RTL\RDFileUtil.pas',
SpellCheck in 'SpellCheck.pas',
ChatBox in 'ChatBox.pas',
ICQCommon in 'ICQ\ICQCommon.pas',
CLBox in 'CLBox.pas',
Nodes in 'Nodes.pas',
HiddenForm in 'HiddenForm.pas' {HiddenForm},
BaseWindow in 'BaseWindow.pas',
RnQPics in '..\For.RnQ\RnQPics.pas';
var
HSCITER: HMODULE;
{$R *.RES}
//{$DYNAMICBASE ON} // ASLR - does not work when relocations are stripped
//{$SETPEOPTFLAGS $140} // NX + ASLR
{$SETPEOPTFLAGS $100} // NX
{$SETPEFLAGS IMAGE_FILE_RELOCS_STRIPPED or IMAGE_FILE_DEBUG_STRIPPED or IMAGE_FILE_LINE_NUMS_STRIPPED or IMAGE_FILE_LOCAL_SYMS_STRIPPED}
{
IMAGE_FILE_LARGE_ADDRESS_AWARE - 2+<2B><>
IMAGE_FILE_RELOCS_STRIPPED - <20><> <20><>
IMAGE_FILE_DEBUG_STRIPPED - <20><> <20><> <20><> Debug <20><>
IMAGE_FILE_LINE_NUMS_STRIPPED - <20><> <20><> exe <20><> <20> <20><> <20><>
IMAGE_FILE_LOCAL_SYMS_STRIPPED - <20><> local symbols
IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP - <20><> <20><> exe <20> <20><>, <20><>, <20><> <20><> <20><>, <20><> exe <20> <20><> <20> <20><> <20><>.
<20><>, <20><> <20><> <20><> <20><> <20> <20><>, <20> <20><> <20><> <20><> <20><>...
IMAGE_FILE_NET_RUN_FROM_SWAP - <20><> <20><>, <20><> <20><> <20><> <20><>
}
begin
CoInitFlags := 0; // COINIT_MULTITHREADED;
// Better for multiple cores/threads
System.NeverSleepOnMMThreadContention := True;
// logpref.evts.onwindow := False;
// logpref.evts.onfile := True;
Application.ShowMainForm := False;
Application.MainFormOnTaskBar := True;
SetCurrentDir(ExtractFilePath(Application.ExeName));
if Screen.Fonts.IndexOf('Segoe UI') >= 0 then
begin
Application.DefaultFont.Name := 'Segoe UI';
Screen.MenuFont.Name := 'Segoe UI';
Screen.HintFont.Name := 'Segoe UI';
Screen.MessageFont.Name := 'Segoe UI';
Screen.CaptionFont.Name := 'Segoe UI';
end;
Randomize;
HSCITER := LoadLibrary(modulesPath + 'sciter.dll');
if HSCITER = 0 then
begin
MessageDlg(GetTranslation('Failed to load Sciter DLL'), mtError, [mbAbort]);
Exit;
end else
FreeLibrary(HSCITER);
// TStyleManager.LoadFromFile('RubyGraphite.vsf');
// SetCurrentThreadName('RnQMain');
// NameThreadForDebugging('RnQMain');
Application.CreateForm(THiddenForm, Hidden);
BeforeWindowsCreation;
Application.Title := 'R&Q';
theme.addHIco('rnq', Application.Icon.Handle, True);
// loggaEvt('Before main');
UI.CreateCL;
// loggaEvt('Before chat');
UI.CreateChat;
// loggaEvt('Before log');
UI.CreateLog;
// loggaEvt('Before tips');
UI.CreateTips;
AfterWindowsCreation;
// loggaEvt('Before user');
StartUser;
Application.Run;
end.