diff options
25 files changed, 75 insertions, 73 deletions
diff --git a/include/m_gui.h b/include/m_gui.h index 2f0a05baf3..d6ed08a7c6 100644 --- a/include/m_gui.h +++ b/include/m_gui.h @@ -461,6 +461,16 @@ protected: void AddControl(CCtrlBase *ctrl);
void AddTimer(CTimer *timer);
+ // options support
+ void CreateLink(CCtrlData& ctrl, const char *szSetting, BYTE type, DWORD iValue);
+ void CreateLink(CCtrlData& ctrl, const char *szSetting, wchar_t *szValue);
+
+ template<class T>
+ __inline void CreateLink(CCtrlData& ctrl, CMOption<T> &option)
+ {
+ ctrl.CreateDbLink(new CMOptionLink<T>(option));
+ }
+
// win32 stuff
void ThemeDialogBackground(BOOL tabbed);
@@ -1492,29 +1502,6 @@ protected: TProto* m_proto;
};
-class CPluginDlgBase : public CDlgBase
-{
- const char *m_szModule;
-public:
- CPluginDlgBase(CMPluginBase &pPlug, int idDialog, const char *module) :
- CDlgBase(pPlug, idDialog), m_szModule(module)
- {};
-
- void CreateLink(CCtrlData& ctrl, const char *szSetting, BYTE type, DWORD iValue)
- {
- ctrl.CreateDbLink(m_szModule, szSetting, type, iValue);
- }
- void CreateLink(CCtrlData& ctrl, const char *szSetting, wchar_t *szValue)
- {
- ctrl.CreateDbLink(m_szModule, szSetting, szValue);
- }
- template<class T>
- __inline void CreateLink(CCtrlData& ctrl, CMOption<T> &option)
- {
- ctrl.CreateDbLink(new CMOptionLink<T>(option));
- }
-};
-
/////////////////////////////////////////////////////////////////////////////////////////
// Safe open/close dialogs
#define UI_SAFE_OPEN(dlgClass, dlgPtr) \
diff --git a/libs/win32/mir_core.lib b/libs/win32/mir_core.lib Binary files differindex ec4dad9bc7..ecd84ff58c 100644 --- a/libs/win32/mir_core.lib +++ b/libs/win32/mir_core.lib diff --git a/libs/win64/mir_core.lib b/libs/win64/mir_core.lib Binary files differindex 2478eb8d2a..d0f9ce3e66 100644 --- a/libs/win64/mir_core.lib +++ b/libs/win64/mir_core.lib diff --git a/plugins/AuthState/src/options.h b/plugins/AuthState/src/options.h index dafebd8f17..9621036a31 100644 --- a/plugins/AuthState/src/options.h +++ b/plugins/AuthState/src/options.h @@ -18,7 +18,7 @@ struct Opts extern Opts Options;
-class COptionsDialog : public CPluginDlgBase
+class COptionsDialog : public CDlgBase
{
CCtrlCheck m_chkAuthIcon;
CCtrlCheck m_chkGrantIcon;
@@ -26,7 +26,7 @@ class COptionsDialog : public CPluginDlgBase CCtrlCheck m_chkOnlyForRecent;
public:
COptionsDialog() :
- CPluginDlgBase(g_plugin, IDD_AUTHSTATE_OPT, MODULENAME),
+ CDlgBase(g_plugin, IDD_AUTHSTATE_OPT),
m_chkAuthIcon(this, IDC_AUTHICON),
m_chkGrantIcon(this, IDC_GRANTICON),
m_chkMenuItem(this, IDC_ENABLEMENUITEM),
@@ -43,5 +43,4 @@ public: for (auto &hContact : Contacts())
onExtraImageApplying((WPARAM)hContact, 0);
}
-
};
\ No newline at end of file diff --git a/plugins/CloudFile/src/options.cpp b/plugins/CloudFile/src/options.cpp index 4a3ae86250..df6563b99c 100644 --- a/plugins/CloudFile/src/options.cpp +++ b/plugins/CloudFile/src/options.cpp @@ -1,7 +1,7 @@ #include "stdafx.h" COptionsMainDlg::COptionsMainDlg() - : CPluginDlgBase(g_plugin, IDD_OPTIONS_MAIN, MODULENAME), + : CDlgBase(g_plugin, IDD_OPTIONS_MAIN), m_defaultService(this, IDC_DEFAULTSERVICE), m_doNothingOnConflict(this, IDC_DONOTHINGONCONFLICT), m_renameOnConflict(this, IDC_RENAMEONCONFLICT), diff --git a/plugins/CloudFile/src/options.h b/plugins/CloudFile/src/options.h index ba7682aef7..30f6600f68 100644 --- a/plugins/CloudFile/src/options.h +++ b/plugins/CloudFile/src/options.h @@ -1,7 +1,7 @@ #ifndef _OPTIONS_H_ #define _OPTIONS_H_ -class COptionsMainDlg : public CPluginDlgBase +class COptionsMainDlg : public CDlgBase { private: CCtrlCombo m_defaultService; diff --git a/plugins/Db_autobackups/src/backup.cpp b/plugins/Db_autobackups/src/backup.cpp index 75e9f26a28..d9b4dd5b5e 100644 --- a/plugins/Db_autobackups/src/backup.cpp +++ b/plugins/Db_autobackups/src/backup.cpp @@ -243,7 +243,7 @@ int Backup(wchar_t *backup_filename) }
SendDlgItemMessage(progress_dialog, IDC_PROGRESS, PBM_SETPOS, (WPARAM)(100), 0);
UpdateWindow(progress_dialog);
- db_set_dw(0, MODULE, "LastBackupTimestamp", (DWORD)time(0));
+ db_set_dw(0, MODULENAME, "LastBackupTimestamp", (DWORD)time(0));
if (options.use_cloudfile)
{
diff --git a/plugins/Db_autobackups/src/main.cpp b/plugins/Db_autobackups/src/main.cpp index 4c52633c9e..db34035088 100644 --- a/plugins/Db_autobackups/src/main.cpp +++ b/plugins/Db_autobackups/src/main.cpp @@ -21,7 +21,7 @@ PLUGININFOEX pluginInfoEx = { };
CMPlugin::CMPlugin() :
- PLUGIN<CMPlugin>(MODULE, pluginInfoEx)
+ PLUGIN<CMPlugin>(MODULENAME, pluginInfoEx)
{}
/////////////////////////////////////////////////////////////////////////////////////////
@@ -87,7 +87,7 @@ static int ModulesLoad(WPARAM, LPARAM) }
else {
DBVARIANT dbv;
- if (!db_get_ws(0, MODULE, "Folder", &dbv)) {
+ if (!db_get_ws(0, MODULENAME, "Folder", &dbv)) {
wcsncpy_s(options.folder, dbv.ptszVal, _TRUNCATE);
db_free(&dbv);
}
diff --git a/plugins/Db_autobackups/src/options.cpp b/plugins/Db_autobackups/src/options.cpp index 803193cccd..be3543ea2e 100644 --- a/plugins/Db_autobackups/src/options.cpp +++ b/plugins/Db_autobackups/src/options.cpp @@ -1,23 +1,23 @@ #include "stdafx.h"
Options::Options() :
- backup_types(MODULE, "BackupType", BT_PERIODIC),
- period(MODULE, "Period", 1),
- period_type(MODULE, "PeriodType", PT_DAYS),
- num_backups(MODULE, "NumBackups", 3),
- disable_progress(MODULE, "NoProgress", 0),
- disable_popups(MODULE, "NoPopups", 0),
- use_zip(MODULE, "UseZip", 0),
- backup_profile(MODULE, "BackupProfile", 0),
- use_cloudfile(MODULE, "UseCloudFile", 0),
- cloudfile_service(MODULE, "CloudFileService", nullptr)
+ backup_types(MODULENAME, "BackupType", BT_PERIODIC),
+ period(MODULENAME, "Period", 1),
+ period_type(MODULENAME, "PeriodType", PT_DAYS),
+ num_backups(MODULENAME, "NumBackups", 3),
+ disable_progress(MODULENAME, "NoProgress", 0),
+ disable_popups(MODULENAME, "NoPopups", 0),
+ use_zip(MODULENAME, "UseZip", 0),
+ backup_profile(MODULENAME, "BackupProfile", 0),
+ use_cloudfile(MODULENAME, "UseCloudFile", 0),
+ cloudfile_service(MODULENAME, "CloudFileService", nullptr)
{
}
Options options;
COptionsDlg::COptionsDlg()
- : CPluginDlgBase(g_plugin, IDD_OPTIONS, MODULE),
+ : CDlgBase(g_plugin, IDD_OPTIONS),
m_disable(this, IDC_RAD_DISABLED), m_backupOnStart(this, IDC_RAD_START),
m_backupOnExit(this, IDC_RAD_EXIT), m_backupPeriodic(this, IDC_RAD_PERIODIC),
m_backup(this, IDC_BUT_NOW), m_backupProfile(this, IDC_BACKUPPROFILE),
@@ -133,7 +133,7 @@ void COptionsDlg::OnApply() MessageBox(nullptr, msg, TranslateT("Error creating backup folder"), MB_OK | MB_ICONERROR);
return;
}
- db_set_ws(0, MODULE, "Folder", folder);
+ db_set_ws(0, MODULENAME, "Folder", folder);
}
int currentService = m_cloudFileService.GetCurSel();
diff --git a/plugins/Db_autobackups/src/options.h b/plugins/Db_autobackups/src/options.h index 9700053e73..6182acf91d 100644 --- a/plugins/Db_autobackups/src/options.h +++ b/plugins/Db_autobackups/src/options.h @@ -56,7 +56,7 @@ struct Options Options();
};
-class COptionsDlg : public CPluginDlgBase
+class COptionsDlg : public CDlgBase
{
CCtrlCheck m_disable;
CCtrlCheck m_backupOnStart;
@@ -102,4 +102,4 @@ protected: public:
COptionsDlg();
-};
\ No newline at end of file +};
diff --git a/plugins/Db_autobackups/src/stdafx.h b/plugins/Db_autobackups/src/stdafx.h index b0229f1e35..0698f1fd47 100644 --- a/plugins/Db_autobackups/src/stdafx.h +++ b/plugins/Db_autobackups/src/stdafx.h @@ -25,7 +25,7 @@ namespace fs = std::experimental::filesystem; #include <m_folders.h>
#include <m_cloudfile.h>
-#define MODULE "AutoBackups"
+#define MODULENAME "AutoBackups"
struct CMPlugin : public PLUGIN<CMPlugin>
{
diff --git a/plugins/MirLua/src/options.cpp b/plugins/MirLua/src/options.cpp index 2698bc1498..8f7ed53a87 100644 --- a/plugins/MirLua/src/options.cpp +++ b/plugins/MirLua/src/options.cpp @@ -1,7 +1,7 @@ #include "stdafx.h"
CMLuaOptions::CMLuaOptions()
- : CPluginDlgBase(g_plugin, IDD_OPTIONS, MODULENAME),
+ : CDlgBase(g_plugin, IDD_OPTIONS),
isScriptListInit(false),
m_popupOnError(this, IDC_POPUPONERROR),
m_popupOnObsolete(this, IDC_POPUPONOBSOLETE),
diff --git a/plugins/MirLua/src/options.h b/plugins/MirLua/src/options.h index 9658ffe336..fa5c6dc823 100644 --- a/plugins/MirLua/src/options.h +++ b/plugins/MirLua/src/options.h @@ -1,6 +1,6 @@ #pragma once
-class CMLuaOptions : public CPluginDlgBase
+class CMLuaOptions : public CDlgBase
{
private:
bool isScriptListInit;
diff --git a/plugins/NewsAggregator/Src/Options.cpp b/plugins/NewsAggregator/Src/Options.cpp index b0fad183f5..f06e592de7 100644 --- a/plugins/NewsAggregator/Src/Options.cpp +++ b/plugins/NewsAggregator/Src/Options.cpp @@ -892,8 +892,8 @@ void COptionsMain::UpdateList() UpdateListFlag = FALSE;
}
-COptionsMain::COptionsMain()
- : CPluginDlgBase(g_plugin, IDD_OPTIONS, MODULENAME),
+COptionsMain::COptionsMain() :
+ CDlgBase(g_plugin, IDD_OPTIONS),
m_feeds(this, IDC_FEEDLIST),
m_add(this, IDC_ADD),
m_change(this, IDC_CHANGE),
diff --git a/plugins/NewsAggregator/Src/Options.h b/plugins/NewsAggregator/Src/Options.h index 9abe024737..1e73f898b4 100644 --- a/plugins/NewsAggregator/Src/Options.h +++ b/plugins/NewsAggregator/Src/Options.h @@ -1,7 +1,7 @@ #ifndef _OPTIONS_H_ #define _OPTIONS_H_ -class COptionsMain : public CPluginDlgBase +class COptionsMain : public CDlgBase { private: CCtrlListView m_feeds; diff --git a/plugins/Scriver/src/msgoptions.cpp b/plugins/Scriver/src/msgoptions.cpp index 962c179e12..3d6f981555 100644 --- a/plugins/Scriver/src/msgoptions.cpp +++ b/plugins/Scriver/src/msgoptions.cpp @@ -366,13 +366,13 @@ static INT_PTR CALLBACK DlgProcTabsOptions(HWND hwndDlg, UINT msg, WPARAM wParam /////////////////////////////////////////////////////////////////////////////////////////
-class CLayoutOptionsDlg : public CPluginDlgBase
+class CLayoutOptionsDlg : public CDlgBase
{
CCtrlCheck chkTransparency, chkShowTitlebar;
public:
CLayoutOptionsDlg() :
- CPluginDlgBase(g_plugin, IDD_OPT_LAYOUT, SRMM_MODULE),
+ CDlgBase(g_plugin, IDD_OPT_LAYOUT),
chkTransparency(this, IDC_TRANSPARENCY),
chkShowTitlebar(this, IDC_SHOWTITLEBAR)
{
@@ -468,7 +468,7 @@ public: SendMessage(GetParent(m_hwnd), PSM_CHANGED, 0, 0);
}
- return CPluginDlgBase::DlgProc(msg, wParam, lParam);
+ return CDlgBase::DlgProc(msg, wParam, lParam);
}
};
diff --git a/plugins/StartPosition/src/options.cpp b/plugins/StartPosition/src/options.cpp index fba92709ef..cdc56bf45a 100644 --- a/plugins/StartPosition/src/options.cpp +++ b/plugins/StartPosition/src/options.cpp @@ -16,7 +16,7 @@ StartPositionOptions::StartPositionOptions() : } COptionsDlg::COptionsDlg() : - CPluginDlgBase(g_plugin, IDD_OPTIONS, MODULENAME), + CDlgBase(g_plugin, IDD_OPTIONS), chkPositionTop(this, IDC_CLTOPENABLE), edtPositionTop(this, IDC_CLTOP), chkPositionBottom(this, IDC_CLBOTTOMENABLE), diff --git a/plugins/StartPosition/src/options.h b/plugins/StartPosition/src/options.h index ed3dcfb5f3..26e922cf11 100644 --- a/plugins/StartPosition/src/options.h +++ b/plugins/StartPosition/src/options.h @@ -70,7 +70,7 @@ struct StartPositionOptions StartPositionOptions(); }; -class COptionsDlg : public CPluginDlgBase +class COptionsDlg : public CDlgBase { CCtrlCheck chkPositionTop, chkPositionBottom, chkPositionSide, chkFromLeft, chkFromRight, chkWidth; CCtrlEdit edtPositionTop, edtPositionBottom, edtPositionSide, edtWidth; diff --git a/plugins/StatusManager/src/options.cpp b/plugins/StatusManager/src/options.cpp index 4d87a08548..60b212d951 100644 --- a/plugins/StatusManager/src/options.cpp +++ b/plugins/StatusManager/src/options.cpp @@ -6,15 +6,15 @@ CMOption<bool> g_SSEnabled(MODULENAME, SSMODULENAME "_enabled", true); ///////////////////////////////////////////////////////////////////////////////////////// -class CSubPluginsOptionsDlg : public CPluginDlgBase +class CSubPluginsOptionsDlg : public CDlgBase { CCtrlCheck m_enableKeepStatus; CCtrlCheck m_enableStartupStatus; CCtrlCheck m_enableAdvancedAutoAway; public: - CSubPluginsOptionsDlg() - : CPluginDlgBase(g_plugin, IDD_OPT_SUBPLUGINS, MODULENAME), + CSubPluginsOptionsDlg() : + CDlgBase(g_plugin, IDD_OPT_SUBPLUGINS), m_enableKeepStatus(this, IDC_ENABLE_KEEPSTATUS), m_enableStartupStatus(this, IDC_ENABLE_STARTUPSTATUS), m_enableAdvancedAutoAway(this, IDC_ENABLE_ADVANCEDAUTOAWAY) diff --git a/plugins/StopSpamPlus/src/options.cpp b/plugins/StopSpamPlus/src/options.cpp index 79b040d967..0d9d4431bf 100644 --- a/plugins/StopSpamPlus/src/options.cpp +++ b/plugins/StopSpamPlus/src/options.cpp @@ -2,14 +2,14 @@ const wchar_t pluginDescription[] = LPGENW("No more spam! Robots can't go! Only human beings invited!\r\n\r\nThis plugin works pretty simple:\r\nWhile messages from users on your contact list go as there is no any anti-spam software, messages from unknown users are not delivered to you. But also they are not ignored, this plugin replies with a simple question, and if user gives the right answer, plugin adds him to your contact list so that he can contact you.");
-class COptMainDlg : public CPluginDlgBase
+class COptMainDlg : public CDlgBase
{
CCtrlEdit edtCount, edtDescr;
CCtrlCheck chk1, chk2, chk3, chk4, chk5, chk6;
public:
COptMainDlg() :
- CPluginDlgBase(g_plugin, IDD_MAIN, MODULENAME),
+ CDlgBase(g_plugin, IDD_MAIN),
edtCount(this, ID_MAXQUESTCOUNT),
edtDescr(this, ID_DESCRIPTION),
chk1(this, ID_INFTALKPROT),
@@ -37,14 +37,14 @@ public: /////////////////////////////////////////////////////////////////////////////////////////
-class COptMessageDlg : public CPluginDlgBase
+class COptMessageDlg : public CDlgBase
{
CCtrlButton btnHelp, btnRestore;
CCtrlEdit edtQuestion, edtAnswer, edtCongrat, edtReply, edtDivider;
public:
COptMessageDlg() :
- CPluginDlgBase(g_plugin, IDD_MESSAGES, MODULENAME),
+ CDlgBase(g_plugin, IDD_MESSAGES),
btnHelp(this, IDC_VARS),
btnRestore(this, ID_RESTOREDEFAULTS),
edtQuestion(this, ID_QUESTION),
@@ -88,13 +88,13 @@ public: /////////////////////////////////////////////////////////////////////////////////////////
-class COptAccountDlg : public CPluginDlgBase
+class COptAccountDlg : public CDlgBase
{
CCtrlListView m_accounts;
public:
COptAccountDlg() :
- CPluginDlgBase(g_plugin, IDD_PROTO, MODULENAME),
+ CDlgBase(g_plugin, IDD_PROTO),
m_accounts(this, IDC_PROTO)
{
m_accounts.OnItemChanged = Callback(this, &COptAccountDlg::list_OnItemChanged);
diff --git a/src/core/stdidle/src/options.cpp b/src/core/stdidle/src/options.cpp index 4b9beab7ac..71b8c14f27 100644 --- a/src/core/stdidle/src/options.cpp +++ b/src/core/stdidle/src/options.cpp @@ -35,7 +35,7 @@ int IdleGetStatusIndex(WORD status) return 0; } -class COptionsDlg : public CPluginDlgBase +class COptionsDlg : public CDlgBase { CCtrlEdit edt1sttime; CCtrlSpin spinIdle; @@ -57,7 +57,7 @@ class COptionsDlg : public CPluginDlgBase public: COptionsDlg() : - CPluginDlgBase(g_plugin, IDD_OPT_IDLE, MODULENAME), + CDlgBase(g_plugin, IDD_OPT_IDLE), edt1sttime(this, IDC_IDLE1STTIME), spinIdle(this, IDC_IDLESPIN), cmbAAStatus(this, IDC_AASTATUS), diff --git a/src/core/stdmsg/src/msgoptions.cpp b/src/core/stdmsg/src/msgoptions.cpp index c7aee9c376..99f034c6fa 100644 --- a/src/core/stdmsg/src/msgoptions.cpp +++ b/src/core/stdmsg/src/msgoptions.cpp @@ -150,7 +150,7 @@ statusValues[] = { PF2_ONTHEPHONE, LPGENW("On the phone") }
};
-class COptionMainDlg : public CPluginDlgBase
+class COptionMainDlg : public CDlgBase
{
CCtrlEdit edtNFlash, edtAvatarH, edtSecs;
CCtrlCheck chkAutoMin, chkAutoClose, chkSavePerContact, chkDoNotStealFocus;
@@ -193,7 +193,7 @@ class COptionMainDlg : public CPluginDlgBase public:
COptionMainDlg() :
- CPluginDlgBase(g_plugin, IDD_OPT_MSGDLG, SRMMMOD),
+ CDlgBase(g_plugin, IDD_OPT_MSGDLG),
tree(this, IDC_POPLIST),
edtSecs(this, IDC_SECONDS),
edtNFlash(this, IDC_NFLASHES),
@@ -305,7 +305,7 @@ public: /////////////////////////////////////////////////////////////////////////////////////////
-class COptionLogDlg : public CPluginDlgBase
+class COptionLogDlg : public CDlgBase
{
HBRUSH hBkgColourBrush;
@@ -315,7 +315,7 @@ class COptionLogDlg : public CPluginDlgBase public:
COptionLogDlg() :
- CPluginDlgBase(g_plugin, IDD_OPT_MSGLOG, SRMMMOD),
+ CDlgBase(g_plugin, IDD_OPT_MSGLOG),
chkSecs(this, IDC_SHOWSECS),
chkDate(this, IDC_SHOWDATES),
chkTime(this, IDC_SHOWTIMES),
@@ -409,7 +409,7 @@ public: /////////////////////////////////////////////////////////////////////////////////////////
-class COptionTypingDlg : public CPluginDlgBase
+class COptionTypingDlg : public CDlgBase
{
HANDLE hItemNew, hItemUnknown;
@@ -418,7 +418,7 @@ class COptionTypingDlg : public CPluginDlgBase public:
COptionTypingDlg() :
- CPluginDlgBase(g_plugin, IDD_OPT_MSGTYPE, SRMMMOD),
+ CDlgBase(g_plugin, IDD_OPT_MSGTYPE),
clist(this, IDC_CLIST),
chkType(this, IDC_SHOWNOTIFY),
chkTypeWin(this, IDC_TYPEWIN),
diff --git a/src/mir_core/src/CDlgBase.cpp b/src/mir_core/src/CDlgBase.cpp index ab21be6a15..bc8b7af72f 100644 --- a/src/mir_core/src/CDlgBase.cpp +++ b/src/mir_core/src/CDlgBase.cpp @@ -113,6 +113,18 @@ void CDlgBase::Show(int nCmdShow) } ///////////////////////////////////////////////////////////////////////////////////////// + +void CDlgBase::CreateLink(CCtrlData& ctrl, const char *szSetting, BYTE type, DWORD iValue) +{ + ctrl.CreateDbLink(m_pPlugin.getModule(), szSetting, type, iValue); +} + +void CDlgBase::CreateLink(CCtrlData& ctrl, const char *szSetting, wchar_t *szValue) +{ + ctrl.CreateDbLink(m_pPlugin.getModule(), szSetting, szValue); +} + +///////////////////////////////////////////////////////////////////////////////////////// // virtual methods int CDlgBase::Resizer(UTILRESIZECONTROL*) diff --git a/src/mir_core/src/mir_core.def b/src/mir_core/src/mir_core.def index eecbb7c04d..4bb5b14e91 100644 --- a/src/mir_core/src/mir_core.def +++ b/src/mir_core/src/mir_core.def @@ -1065,3 +1065,5 @@ IsTerminalDisconnected @1245 CallObjectEventHook @1259
?db_get_sm@@YG?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPBD0@Z @1260 NONAME
?db_get_wsm@@YG?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@IPBD0@Z @1261 NONAME
+?CreateLink@CDlgBase@@IAEXAAVCCtrlData@@PBDEK@Z @1262 NONAME
+?CreateLink@CDlgBase@@IAEXAAVCCtrlData@@PBDPA_W@Z @1263 NONAME
diff --git a/src/mir_core/src/mir_core64.def b/src/mir_core/src/mir_core64.def index c0ebe31ddb..638caf74fb 100644 --- a/src/mir_core/src/mir_core64.def +++ b/src/mir_core/src/mir_core64.def @@ -1065,3 +1065,5 @@ IsTerminalDisconnected @1245 CallObjectEventHook @1259
?db_get_sm@@YA?AV?$CMStringT@DV?$ChTraitsCRT@D@@@@IPEBD0@Z @1260 NONAME
?db_get_wsm@@YA?AV?$CMStringT@_WV?$ChTraitsCRT@_W@@@@IPEBD0@Z @1261 NONAME
+?CreateLink@CDlgBase@@IEAAXAEAVCCtrlData@@PEBDEK@Z @1262 NONAME
+?CreateLink@CDlgBase@@IEAAXAEAVCCtrlData@@PEBDPEA_W@Z @1263 NONAME
|