OSDN Git Service

セットアップの追加、ヘルプの修正
[seraphyscrtools/SeraphyScriptTools.git] / SeraphyScriptTools.cpp
1 // SeraphyScriptTools.cpp : DLL \83G\83N\83X\83|\81[\83g\82Ì\83C\83\93\83v\83\8a\83\81\83\93\83e\81[\83V\83\87\83\93
2
3
4 // \83\81\83\82: Proxy/Stub \8fî\95ñ
5 //  \95Ê\81X\82Ì proxy/stub DLL \82ð\83r\83\8b\83h\82·\82é\82½\82ß\82É\82Í\81A\83v\83\8d\83W\83F\83N\83g\82Ì\83f\83B\83\8c\83N\83g\83\8a\82Å 
6 //      nmake -f SeraphyScriptToolsps.mak \82ð\8eÀ\8ds\82µ\82Ä\82­\82¾\82³\82¢\81B
7
8 #include "stdafx.h"
9 #include "resource.h"
10 #include <initguid.h>
11 #include "SeraphyScriptTools.h"
12
13 #include "SeraphyScriptTools_i.c"
14 #include "CommDialog.h"
15 #include "OverlappedWindow.h"
16 #include "Control.h"
17 #include "Draw.h"
18 #include "Layer.h"
19 #include "Form.h"
20 #include "instance.h"
21 #include "objectmap.h"
22 #include "shell.h"
23 #include "objectvector.h"
24 #include "profilesection.h"
25 #include "privateprofile.h"
26
27 // Common Controls\97plib\82Ì\83\8d\81[\83h
28 #pragma comment(lib, "comctl32.lib")
29
30 CComModule _Module;
31
32 BEGIN_OBJECT_MAP(ObjectMap)
33         OBJECT_ENTRY(CLSID_SeraphyScriptTools_Instance, CInstance)
34         OBJECT_ENTRY(CLSID_CommDialog, CCommDialog)
35         OBJECT_ENTRY(CLSID_Canvas, CCanvas)
36         OBJECT_ENTRY(CLSID_OverlappedWindow, COverlappedWindow)
37         OBJECT_ENTRY(CLSID_ObjectMap, CObjectMap)
38         OBJECT_ENTRY(CLSID_SeraphyScriptTools_Shell, CShell)
39         OBJECT_ENTRY(CLSID_ObjectVector, CObjectVector)
40         //OBJECT_ENTRY(CLSID_Control, CControl)
41         //OBJECT_ENTRY(CLSID_Layer, CLayer)
42         //OBJECT_ENTRY(CLSID_Form, CForm)
43         //OBJECT_ENTRY(CLSID_Event, CEvent)
44         //OBJECT_ENTRY(CLSID_EnumSelect, CEnumSelect)
45         //OBJECT_ENTRY(CLSID_TreeItem, CTreeItem)
46         //OBJECT_ENTRY(CLSID_ShellExecObj, CShellExecObj)
47         //OBJECT_ENTRY(CLSID_ProfileSection, CProfileSection)
48         OBJECT_ENTRY(CLSID_ParseName, CParseName)
49         OBJECT_ENTRY(CLSID_PrivateProfile, CPrivateProfile)
50 END_OBJECT_MAP()
51
52 /////////////////////////////////////////////////////////////////////////////
53 // DLL \83G\83\93\83g\83\8a \83|\83C\83\93\83g
54
55 extern "C"
56 BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
57 {
58         if (dwReason == DLL_PROCESS_ATTACH) {
59                 // \83R\83\82\83\93\83R\83\93\83g\83\8d\81[\83\8b\82Ì\83N\83\89\83X\96¼\82ð\93o\98^\82·\82é
60                 InitCommonControls();
61                 //
62                 _Module.Init(ObjectMap, hInstance, &LIBID_SERAPHYSCRIPTTOOLSLib);
63                 DisableThreadLibraryCalls(hInstance);
64
65 #ifdef _DEBUG
66                 //_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
67                 //_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
68                 _CrtSetDbgFlag(_CRTDBG_LEAK_CHECK_DF | _CRTDBG_ALLOC_MEM_DF | _CRTDBG_CHECK_EVERY_128_DF);
69                 //_CrtSetBreakAlloc(898);
70 #endif
71
72         } else if (dwReason == DLL_PROCESS_DETACH) {
73                 _Module.Term();
74
75 #ifdef _DEBUG
76                 _CrtDumpMemoryLeaks();
77 #endif
78         }
79
80         return TRUE;    // ok
81 }
82
83 /////////////////////////////////////////////////////////////////////////////
84 // DLL \82ª OLE \82É\82æ\82Á\82Ä\83A\83\93\83\8d\81[\83h\89Â\94\\82©\82Ç\82¤\82©\82ð\92²\82×\82é\82½\82ß\82É\8eg\97p\82³\82ê\82Ü\82·
85
86 STDAPI DllCanUnloadNow(void)
87 {
88         return (_Module.GetLockCount() == 0) ? S_OK : S_FALSE;
89 }
90
91 /////////////////////////////////////////////////////////////////////////////
92 // \97v\8b\81\82³\82ê\82½\8c^\82Ì\83I\83u\83W\83F\83N\83g\82ð\8dì\90¬\82·\82é\82½\82ß\82É\83N\83\89\83\83t\83@\83N\83g\83\8a\82ð\95Ô\82µ\82Ü\82·
93
94 STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
95 {
96         return _Module.GetClassObject(rclsid, riid, ppv);
97 }
98
99 /////////////////////////////////////////////////////////////////////////////
100 // DllRegisterServer - \83V\83X\83e\83\80 \83\8c\83W\83X\83g\83\8a\82Ö\83G\83\93\83g\83\8a\82ð\92Ç\89Á\82µ\82Ü\82·
101
102 STDAPI DllRegisterServer(void)
103 {
104         // \83I\83u\83W\83F\83N\83g\81A\83^\83C\83v\83\89\83C\83u\83\89\83\8a\82¨\82æ\82Ñ\83^\83C\83v\83\89\83C\83u\83\89\83\8a\93à\82Ì\91S\82Ä\82Ì\83C\83\93\83^\81[\83t\83F\83C\83X\82ð\93o\98^\82µ\82Ü\82·
105         return _Module.RegisterServer(TRUE);
106 }
107
108 /////////////////////////////////////////////////////////////////////////////
109 // DllUnregisterServer - \83V\83X\83e\83\80 \83\8c\83W\83X\83g\83\8a\82©\82ç\83G\83\93\83g\83\8a\82ð\8dí\8f\9c\82µ\82Ü\82·
110
111 STDAPI DllUnregisterServer(void)
112 {
113         return _Module.UnregisterServer(TRUE);
114 }
115
116
117 #include "Event.h"
118 #include "Instance.h"
119 #include "TreeItem.h"
120 #include "ObjectMap.h"
121 #include "Shell.h"
122 #include "ObjectVector.h"
123 #include "ProfileSection.h"
124 #include "PrivateProfile.h"