From ab794ab5b846743315cfba6a3192c14e00d2dc9e Mon Sep 17 00:00:00 2001
From: xj qian <qianxj15@sina.com>
Date: 星期三, 04 九月 2024 16:15:25 +0800
Subject: [PATCH] update jarch

---
 jrj/jarch/JByteStream.hpp        |    7 +
 jrj/jarch/JConnect.hpp           |    7 +
 jrj/jarch/JDouble.hpp            |    7 +
 jrj/jarch/JApplication.hpp       |    7 +
 jrj/jarch/JDataBlock.hpp         |    7 +
 jrj/jarch/JStringBuffer.hpp      |    7 +
 jrj/jarch/JFileStream.hpp        |    7 +
 jrj/jarch/JControl.hpp           |    7 +
 jrj/jarch/JDataSet.hpp           |    8 ++
 jrj/jarch/factory/JObjectSvr.hpp |   24 ++++++
 jrj/jarch/JXmlDOMDocument.hpp    |    7 +
 jrj/jarch/JStringImpl.hpp        |    9 ++
 jrj/jarch/JStream.hpp            |    7 +
 jrj/jarch/JStringStream.hpp      |    7 +
 jrj/jarch/JWin.hpp               |    7 +
 jrj/jarch/JStringImpl.cpp        |    7 +
 jrj/jarch/JDataSource.hpp        |    7 +
 jrj/jarch/JXPage.hpp             |    7 +
 jrj/jarch/JInt.hpp               |    6 +
 jrj/jarch/JCharStream.hpp        |    7 +
 jrj/jarch/JObject.hpp            |   14 +++
 jrj/jarch/JString.hpp            |    9 ++
 jrj/ext-jrj/ext-jrj.vcxproj      |   11 +-
 jrj/jarch/JSession.hpp           |    7 +
 jrj/jarch/JDataStore.hpp         |    9 ++
 25 files changed, 205 insertions(+), 4 deletions(-)

diff --git a/jrj/ext-jrj/ext-jrj.vcxproj b/jrj/ext-jrj/ext-jrj.vcxproj
index 504bf28..974209d 100644
--- a/jrj/ext-jrj/ext-jrj.vcxproj
+++ b/jrj/ext-jrj/ext-jrj.vcxproj
@@ -120,7 +120,7 @@
       <ConformanceMode>true</ConformanceMode>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
-      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project;..\jarch</AdditionalIncludeDirectories>
       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>
       <LanguageStandard>stdcpp17</LanguageStandard>
     </ClCompile>
@@ -128,7 +128,7 @@
       <SubSystem>Windows</SubSystem>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableUAC>false</EnableUAC>
-      <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;tsclib.lib;%(AdditionalDependencies);$(CoreLibraryDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;tsclib.lib;jarch.object.lib;%(AdditionalDependencies);$(CoreLibraryDependencies)</AdditionalDependencies>
       <AdditionalLibraryDirectories>D:\xclient64</AdditionalLibraryDirectories>
     </Link>
     <PostBuildEvent>
@@ -145,7 +145,7 @@
       <ConformanceMode>true</ConformanceMode>
       <PrecompiledHeader>NotUsing</PrecompiledHeader>
       <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
-      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>..\xframe;..\xframe\system;..\project;..\jarch</AdditionalIncludeDirectories>
     </ClCompile>
     <Link>
       <SubSystem>Windows</SubSystem>
@@ -154,13 +154,16 @@
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <EnableUAC>false</EnableUAC>
       <AdditionalLibraryDirectories>D:\xclient64r\sdk\lib</AdditionalLibraryDirectories>
-      <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;tsclib.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>xarch.shape.lib;xarch.base.lib;xarch.util.lib;xarch.network.lib;xarch.xframe.lib;xarch.xcontrol.lib;xoffice.xcell.lib;xoffice.xgrid.lib;xoffice.xreport.lib;xoffice.frame.lib;shlwapi.lib;xoffice.xflow.lib;comsuppw.lib;tsclib.lib;jarch.object.lib;$(CoreLibraryDependencies);%(AdditionalDependencies)</AdditionalDependencies>
     </Link>
     <PostBuildEvent>
       <Command>copy $(OutDirFullPath)ext-jrj.dll D:\xclient64r\ext\ext-jrj.dll</Command>
     </PostBuildEvent>
   </ItemDefinitionGroup>
   <ItemGroup>
+    <ClInclude Include="..\jarch\factory\JObjectSvr.hpp" />
+    <ClInclude Include="..\jarch\JObject.hpp" />
+    <ClInclude Include="..\jarch\JString.hpp" />
     <ClInclude Include="..\project\business\SystemSettings\SysUser.hpp" />
     <ClInclude Include="..\project\viewobject\custom.view.hpp" />
     <ClInclude Include="..\project\viewobject\customer.view.hpp" />
diff --git a/jrj/jarch/JApplication.hpp b/jrj/jarch/JApplication.hpp
new file mode 100644
index 0000000..d417b1e
--- /dev/null
+++ b/jrj/jarch/JApplication.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JApplication :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JByteStream.hpp b/jrj/jarch/JByteStream.hpp
new file mode 100644
index 0000000..3213acc
--- /dev/null
+++ b/jrj/jarch/JByteStream.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jstream.hpp"
+class JByteStream :
+    public JStream
+{
+};
+
diff --git a/jrj/jarch/JCharStream.hpp b/jrj/jarch/JCharStream.hpp
new file mode 100644
index 0000000..cbb0056
--- /dev/null
+++ b/jrj/jarch/JCharStream.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jstream.hpp"
+class JCharStream :
+    public JStream
+{
+};
+
diff --git a/jrj/jarch/JConnect.hpp b/jrj/jarch/JConnect.hpp
new file mode 100644
index 0000000..1d24b19
--- /dev/null
+++ b/jrj/jarch/JConnect.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JConnect :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JControl.hpp b/jrj/jarch/JControl.hpp
new file mode 100644
index 0000000..d2d03b6
--- /dev/null
+++ b/jrj/jarch/JControl.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JControl :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JDataBlock.hpp b/jrj/jarch/JDataBlock.hpp
new file mode 100644
index 0000000..d990cc5
--- /dev/null
+++ b/jrj/jarch/JDataBlock.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JDataBlock :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JDataSet.hpp b/jrj/jarch/JDataSet.hpp
new file mode 100644
index 0000000..d0eda5d
--- /dev/null
+++ b/jrj/jarch/JDataSet.hpp
@@ -0,0 +1,8 @@
+#pragma once
+#include "jobject.hpp"
+
+class JDataSet :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JDataSource.hpp b/jrj/jarch/JDataSource.hpp
new file mode 100644
index 0000000..1e16138
--- /dev/null
+++ b/jrj/jarch/JDataSource.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JDataSource :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JDataStore.hpp b/jrj/jarch/JDataStore.hpp
new file mode 100644
index 0000000..221c455
--- /dev/null
+++ b/jrj/jarch/JDataStore.hpp
@@ -0,0 +1,9 @@
+#pragma once
+#include "jobject.hpp"
+class JDataStore :
+    public JObject
+{
+public:
+
+};
+
diff --git a/jrj/jarch/JDouble.hpp b/jrj/jarch/JDouble.hpp
new file mode 100644
index 0000000..69a5a07
--- /dev/null
+++ b/jrj/jarch/JDouble.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JDouble :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JFileStream.hpp b/jrj/jarch/JFileStream.hpp
new file mode 100644
index 0000000..0193139
--- /dev/null
+++ b/jrj/jarch/JFileStream.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jstream.hpp"
+class JFileStream :
+    public JStream
+{
+};
+
diff --git a/jrj/jarch/JInt.hpp b/jrj/jarch/JInt.hpp
new file mode 100644
index 0000000..d8d83b7
--- /dev/null
+++ b/jrj/jarch/JInt.hpp
@@ -0,0 +1,6 @@
+#pragma once
+#include "jobject.hpp"
+class JInt
+{
+};
+
diff --git a/jrj/jarch/JObject.hpp b/jrj/jarch/JObject.hpp
new file mode 100644
index 0000000..a132604
--- /dev/null
+++ b/jrj/jarch/JObject.hpp
@@ -0,0 +1,14 @@
+#pragma once
+
+#ifdef JARCHOBJECT_EXPORTS
+#define JOBJECT_API __declspec(dllexport)
+#else
+#define JOBJECT_API __declspec(dllimport)
+#endif
+
+class JOBJECT_API JObject
+{
+public:
+	virtual void Release() =0;
+};
+
diff --git a/jrj/jarch/JSession.hpp b/jrj/jarch/JSession.hpp
new file mode 100644
index 0000000..17897fb
--- /dev/null
+++ b/jrj/jarch/JSession.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JSession :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JStream.hpp b/jrj/jarch/JStream.hpp
new file mode 100644
index 0000000..b03647e
--- /dev/null
+++ b/jrj/jarch/JStream.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JStream :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JString.hpp b/jrj/jarch/JString.hpp
new file mode 100644
index 0000000..14d5ee0
--- /dev/null
+++ b/jrj/jarch/JString.hpp
@@ -0,0 +1,9 @@
+#pragma once
+#include "jobject.hpp"
+class JString :
+    public JObject
+{
+public:
+
+};
+
diff --git a/jrj/jarch/JStringBuffer.hpp b/jrj/jarch/JStringBuffer.hpp
new file mode 100644
index 0000000..86a8f9a
--- /dev/null
+++ b/jrj/jarch/JStringBuffer.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JStringBuffer :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JStringImpl.cpp b/jrj/jarch/JStringImpl.cpp
new file mode 100644
index 0000000..a0af576
--- /dev/null
+++ b/jrj/jarch/JStringImpl.cpp
@@ -0,0 +1,7 @@
+#include "pch.h"
+#include "JStringImpl.hpp"
+
+void JStringImpl::Release()
+{
+	if (this)delete this;
+}
diff --git a/jrj/jarch/JStringImpl.hpp b/jrj/jarch/JStringImpl.hpp
new file mode 100644
index 0000000..34a174c
--- /dev/null
+++ b/jrj/jarch/JStringImpl.hpp
@@ -0,0 +1,9 @@
+#pragma once
+#include "jstring.hpp"
+class JStringImpl :
+    public JString
+{
+public:
+    void Release();
+};
+
diff --git a/jrj/jarch/JStringStream.hpp b/jrj/jarch/JStringStream.hpp
new file mode 100644
index 0000000..5209366
--- /dev/null
+++ b/jrj/jarch/JStringStream.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jstream.hpp"
+class JStringStream :
+    public JStream
+{
+};
+
diff --git a/jrj/jarch/JWin.hpp b/jrj/jarch/JWin.hpp
new file mode 100644
index 0000000..19dfc79
--- /dev/null
+++ b/jrj/jarch/JWin.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JWin :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JXPage.hpp b/jrj/jarch/JXPage.hpp
new file mode 100644
index 0000000..49094d7
--- /dev/null
+++ b/jrj/jarch/JXPage.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JXPage :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/JXmlDOMDocument.hpp b/jrj/jarch/JXmlDOMDocument.hpp
new file mode 100644
index 0000000..853c84d
--- /dev/null
+++ b/jrj/jarch/JXmlDOMDocument.hpp
@@ -0,0 +1,7 @@
+#pragma once
+#include "jobject.hpp"
+class JXmlDOMDocument :
+    public JObject
+{
+};
+
diff --git a/jrj/jarch/factory/JObjectSvr.hpp b/jrj/jarch/factory/JObjectSvr.hpp
new file mode 100644
index 0000000..65d53d7
--- /dev/null
+++ b/jrj/jarch/factory/JObjectSvr.hpp
@@ -0,0 +1,24 @@
+#pragma once
+#include "jobject.hpp"
+#include <tchar.h>
+#include <wtypes.h>
+class JOBJECT_API JObjectSvr
+{
+public:
+	JObjectSvr();
+	~JObjectSvr();
+public:
+	static JObjectSvr* get();
+public:
+	template<class Ty>
+	static Ty* CreateInstance(LPWSTR pStrObject)
+	{
+		return (Ty*)get()->CreateInstance(nullptr,pStrObject);
+	}
+	JObject* CreateInstance(LPWSTR pStrUri, LPWSTR pStrObject);
+	void RegisterObjectsByXmlFile(LPWSTR pStrFile);
+	void RegisterObjectsByObjectMgr(LPWSTR pStrUri, JObjectSvr* pObjectMgr);
+private:
+	void* m_pImpl;
+};
+

--
Gitblit v1.9.3