commit 33a08f1ab789fd18802603daad26304b24a29839 Author: hongcj Date: Fri Apr 18 17:21:27 2025 +0800 first commit diff --git a/.vs/T5Sign_ITK/v16/.suo b/.vs/T5Sign_ITK/v16/.suo new file mode 100644 index 0000000..3ae8ca5 Binary files /dev/null and b/.vs/T5Sign_ITK/v16/.suo differ diff --git a/.vs/T5Sign_ITK/v16/Browse.VC.db b/.vs/T5Sign_ITK/v16/Browse.VC.db new file mode 100644 index 0000000..d6267fc Binary files /dev/null and b/.vs/T5Sign_ITK/v16/Browse.VC.db differ diff --git a/Backup/T5Sign_ITK.sln b/Backup/T5Sign_ITK.sln new file mode 100644 index 0000000..720c325 --- /dev/null +++ b/Backup/T5Sign_ITK.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 9.00 +# Visual Studio 2005 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "T5Sign_ITK", "T5Sign_ITK\T5Sign_ITK.vcproj", "{095F51C1-D017-4120-9F23-C4D6BDEADDE8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Debug|Win32.ActiveCfg = Debug|Win32 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Debug|Win32.Build.0 = Debug|Win32 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Debug|x64.ActiveCfg = Debug|x64 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Debug|x64.Build.0 = Debug|x64 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Release|Win32.ActiveCfg = Release|Win32 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Release|Win32.Build.0 = Release|Win32 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Release|x64.ActiveCfg = Release|x64 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Backup/T5Sign_ITK.v11.suo b/Backup/T5Sign_ITK.v11.suo new file mode 100644 index 0000000..2439b79 Binary files /dev/null and b/Backup/T5Sign_ITK.v11.suo differ diff --git a/Debug/T5Sign_ITK.exp b/Debug/T5Sign_ITK.exp new file mode 100644 index 0000000..89a4faa Binary files /dev/null and b/Debug/T5Sign_ITK.exp differ diff --git a/Debug/T5Sign_ITK.lib b/Debug/T5Sign_ITK.lib new file mode 100644 index 0000000..b82b852 Binary files /dev/null and b/Debug/T5Sign_ITK.lib differ diff --git a/Debug/T5Sign_ITK.pdb b/Debug/T5Sign_ITK.pdb new file mode 100644 index 0000000..361445d Binary files /dev/null and b/Debug/T5Sign_ITK.pdb differ diff --git a/T5Sign_ITK.ncb b/T5Sign_ITK.ncb new file mode 100644 index 0000000..b80f91b Binary files /dev/null and b/T5Sign_ITK.ncb differ diff --git a/T5Sign_ITK.opensdf b/T5Sign_ITK.opensdf new file mode 100644 index 0000000..a734141 Binary files /dev/null and b/T5Sign_ITK.opensdf differ diff --git a/T5Sign_ITK.sdf b/T5Sign_ITK.sdf new file mode 100644 index 0000000..c75e10c Binary files /dev/null and b/T5Sign_ITK.sdf differ diff --git a/T5Sign_ITK.sln b/T5Sign_ITK.sln new file mode 100644 index 0000000..51b8337 --- /dev/null +++ b/T5Sign_ITK.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "T5Sign_ITK", "T5Sign_ITK\T5Sign_ITK.vcxproj", "{095F51C1-D017-4120-9F23-C4D6BDEADDE8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Debug|Win32.ActiveCfg = Debug|Win32 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Debug|Win32.Build.0 = Debug|Win32 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Debug|x64.ActiveCfg = Debug|x64 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Debug|x64.Build.0 = Debug|x64 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Release|Win32.ActiveCfg = Release|Win32 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Release|Win32.Build.0 = Release|Win32 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Release|x64.ActiveCfg = Release|x64 + {095F51C1-D017-4120-9F23-C4D6BDEADDE8}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/T5Sign_ITK.suo b/T5Sign_ITK.suo new file mode 100644 index 0000000..2439b79 Binary files /dev/null and b/T5Sign_ITK.suo differ diff --git a/T5Sign_ITK.v11.suo b/T5Sign_ITK.v11.suo new file mode 100644 index 0000000..08f9457 Binary files /dev/null and b/T5Sign_ITK.v11.suo differ diff --git a/T5Sign_ITK/Debug/CL.read.1.tlog b/T5Sign_ITK/Debug/CL.read.1.tlog new file mode 100644 index 0000000..51452a1 Binary files /dev/null and b/T5Sign_ITK/Debug/CL.read.1.tlog differ diff --git a/T5Sign_ITK/Debug/CL.write.1.tlog b/T5Sign_ITK/Debug/CL.write.1.tlog new file mode 100644 index 0000000..328b2f0 Binary files /dev/null and b/T5Sign_ITK/Debug/CL.write.1.tlog differ diff --git a/T5Sign_ITK/Debug/HS_pdf_signoff.obj b/T5Sign_ITK/Debug/HS_pdf_signoff.obj new file mode 100644 index 0000000..56a81ba Binary files /dev/null and b/T5Sign_ITK/Debug/HS_pdf_signoff.obj differ diff --git a/T5Sign_ITK/Debug/HS_set_signoff.obj b/T5Sign_ITK/Debug/HS_set_signoff.obj new file mode 100644 index 0000000..8db1555 Binary files /dev/null and b/T5Sign_ITK/Debug/HS_set_signoff.obj differ diff --git a/T5Sign_ITK/Debug/PX_CaxaToPDF.obj b/T5Sign_ITK/Debug/PX_CaxaToPDF.obj new file mode 100644 index 0000000..a073911 Binary files /dev/null and b/T5Sign_ITK/Debug/PX_CaxaToPDF.obj differ diff --git a/T5Sign_ITK/Debug/T5Sign_ITK.Build.CppClean.log b/T5Sign_ITK/Debug/T5Sign_ITK.Build.CppClean.log new file mode 100644 index 0000000..0c0eecb --- /dev/null +++ b/T5Sign_ITK/Debug/T5Sign_ITK.Build.CppClean.log @@ -0,0 +1,36 @@ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\T5SIGN_ITK.PCH +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\STDAFX.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\VC110.PDB +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\HS_SET_SIGNOFF.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\PX_CAXATOPDF.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\T5SIGN_ITK.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\LIB_CUSTOM_MAIN.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\STRING_HELPER.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\STRING_UTILS.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\CLEAR_FORM_PROP.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\CONNOR_UTIL.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\EPM_REGISTER_HANDLER.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\EPM_SIGN_REV.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\EPM_SIGNOFF_DATASET.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\ERP_UTILS.OBJ +Z:\D-2\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\DEBUG\SPACE_NODE.OBJ +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\clear_form_prop.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\connor_util.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\epm_register_handler.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\epm_signoff_dataset.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\epm_sign_rev.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\erp_utils.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\HS_set_signoff.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\lib_custom_main.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\PX_CaxaToPDF.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\space_node.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\stdafx.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\string_helper.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\string_utils.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\T5Sign_ITK.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\cl.command.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\CL.read.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\CL.write.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\T5Sign_ITK.pch +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\vc110.idb +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Debug\vc110.pdb diff --git a/T5Sign_ITK/Debug/T5Sign_ITK.lastbuildstate b/T5Sign_ITK/Debug/T5Sign_ITK.lastbuildstate new file mode 100644 index 0000000..3eb35aa --- /dev/null +++ b/T5Sign_ITK/Debug/T5Sign_ITK.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v110:false +Debug|Win32|Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\| diff --git a/T5Sign_ITK/Debug/T5Sign_ITK.log b/T5Sign_ITK/Debug/T5Sign_ITK.log new file mode 100644 index 0000000..2fb0d73 --- /dev/null +++ b/T5Sign_ITK/Debug/T5Sign_ITK.log @@ -0,0 +1,288 @@ +生成启动时间为 2024/7/19 18:15:47。 + 1>项目“Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\T5Sign_ITK.vcxproj”在节点 2 上(Rebuild 个目标)。 + 1>ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /I"Z:\D-2\WorkEnvironment\tc8ITK\32\include" /I"Z:\D-2\WorkEnvironment\tc8ITK\32\include_cpp" /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _WINDOWS /D IPLIB /D _WINDLL /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"stdafx.h" /Fp"Debug\T5Sign_ITK.pch" /Fo"Debug\\" /Fd"Debug\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt stdafx.cpp + stdafx.cpp + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /I"Z:\D-2\WorkEnvironment\tc8ITK\32\include" /I"Z:\D-2\WorkEnvironment\tc8ITK\32\include_cpp" /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _WINDOWS /D IPLIB /D _WINDLL /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt HS_pdf_signoff.cpp HS_set_signoff.cpp PX_CaxaToPDF.cpp T5Sign_ITK.cpp lib_custom_main.cpp string_helper.cpp string_utils.cxx clear_form_prop.cpp connor_util.cpp epm_register_handler.cpp epm_sign_rev.cxx epm_signoff_dataset.cxx erp_utils.cxx space_node.cpp + space_node.cpp + 1>z:\d-2\workenvironment\tc8itk\32\include\pom\pom\pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\qry\qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + erp_utils.cxx + epm_signoff_dataset.cxx + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(148): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(148): warning C4101: “pTempStr”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(147): warning C4101: “iCnt”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(182): warning C4101: “new_file_name”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(180): warning C4101: “file_descriptor”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(338): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(338): warning C4101: “pTempStr”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(337): warning C4101: “iCnt”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(423): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(423): warning C4101: “pTempStr”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(422): warning C4101: “iCnt”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(510): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(510): warning C4101: “pTempStr”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(509): warning C4101: “iCnt”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(597): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(597): warning C4101: “pTempStr”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(596): warning C4101: “iCnt”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(735): warning C4018: “<”: 有符号/无符号不匹配 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(699): warning C4101: “aUserTag”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(701): warning C4101: “decision_date”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(700): warning C4101: “userName”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(699): warning C4101: “responsibleParty”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(924): warning C4101: “desc_path”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_signoff_dataset.cxx(1226): warning C4800: “BOOL”: 将值强制为布尔值“true”或“false”(性能警告) + epm_sign_rev.cxx + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_sign_rev.cxx(202): warning C4129: “c”: 不可识别的字符转义序列 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_sign_rev.cxx(119): warning C4101: “userName”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_sign_rev.cxx(187): warning C4101: “is_valid”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_sign_rev.cxx(713): warning C4102: “end_handler”: 未引用的标签 + epm_register_handler.cpp + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(54): warning C4018: “<”: 有符号/无符号不匹配 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(68): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(218) : 参见“fopen”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(84): warning C4172: 返回局部变量或临时变量的地址 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(64): warning C4101: “str”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(102): warning C4101: “p”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(100): warning C4101: “expire_date”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(100): warning C4101: “env”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(100): warning C4101: “date_buf”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(101): warning C4101: “now”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(100): warning C4101: “temp1”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(100): warning C4101: “temp2”: 未引用的局部变量 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_register_handler.cpp(104): warning C4101: “mth_tag”: 未引用的局部变量 + connor_util.cpp + 1>z:\d-2\workenvironment\tc8itk\32\include\pom\pom\pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\qry\qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + clear_form_prop.cpp + 1>z:\d-2\workenvironment\tc8itk\32\include\pom\pom\pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\qry\qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\clear_form_prop.cpp(75): warning C4101: “DataSetType”: 未引用的局部变量 + string_utils.cxx + 1>z:\d-2\workenvironment\tc8itk\32\include\pom\pom\pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + string_helper.cpp + lib_custom_main.cpp + T5Sign_ITK.cpp + PX_CaxaToPDF.cpp + 1>z:\d-2\workenvironment\tc8itk\32\include\pom\pom\pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\qry\qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(164): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\time.inl(112) : 参见“localtime”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(232): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(249) : 参见“stricmp”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(237): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(240): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(249) : 参见“stricmp”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(245): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(248): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(249) : 参见“stricmp”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(253): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(256): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(249) : 参见“stricmp”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(261): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(264): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(249) : 参见“stricmp”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(269): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(272): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(249) : 参见“stricmp”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(277): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(332): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdlib.h(449) : 参见“getenv”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(334): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(335): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(336): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(347): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(348): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(349): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(350): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(351): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(352): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(353): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(354): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(359): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(362): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(363): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(364): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(365): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\px_caxatopdf.cpp(422): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + HS_set_signoff.cpp + 1>z:\d-2\workenvironment\tc8itk\32\include\pom\pom\pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\qry\qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(189): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(238): warning C4018: “<”: 有符号/无符号不匹配 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(243): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(244): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(250): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(251): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(257): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(258): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(260): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(261): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(263): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(264): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(272): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(275): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(278): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(281): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(286): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(293): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(293): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdlib.h(449) : 参见“getenv”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(294): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(295): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(296): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(218) : 参见“fopen”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(321): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(322): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(333): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(334): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(347): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(348): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(361): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(362): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(377): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdlib.h(449) : 参见“getenv”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(385): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\time.inl(112) : 参见“localtime”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(386): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(357) : 参见“sprintf”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(387): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(408): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(413): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(425): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(427): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(429): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(431): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(433): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(110) : 参见“strcpy”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(435): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(437): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(439): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(457): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(458): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(459): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(460): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_set_signoff.cpp(461): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + c:\program files (x86)\microsoft visual studio 11.0\vc\include\string.h(115) : 参见“strcat”的声明 + HS_pdf_signoff.cpp + 1>z:\d-2\workenvironment\tc8itk\32\include\pom\pom\pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\qry\qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\workenvironment\tc8itk\32\include\bom\bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\hs_pdf_signoff.cpp(247): warning C4101: “desc_path”: 未引用的局部变量 + 正在生成代码... + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_sign_rev.cxx(200): warning C4700: 使用了未初始化的局部变量“comments” + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_sign_rev.cxx(471): warning C4700: 使用了未初始化的局部变量“person_name” + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /I"Z:\D-2\WorkEnvironment\tc8ITK\32\include" /I"Z:\D-2\WorkEnvironment\tc8ITK\32\include_cpp" /ZI /nologo /W3 /WX- /Od /Oy- /D WIN32 /D _DEBUG /D _WINDOWS /D IPLIB /D _WINDLL /D _UNICODE /D UNICODE /Gm /EHsc /RTC1 /MDd /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Debug\\" /Fd"Debug\vc110.pdb" /Gd /TC /analyze- /errorReport:prompt common_itk_util.c + common_itk_util.c + 1>z:\d-2\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\common_itk_util.c(91): warning C4013: “AM__set_application_bypass”未定义;假设外部返回 int + ResourceCompile: + C:\Program Files (x86)\Windows Kits\8.0\bin\x86\rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"Debug\T5Sign_ITK.res" T5Sign_ITK.rc + Link: + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\Debug\T5Sign_ITK.dll" /INCREMENTAL /NOLOGO "Z:\D-2\WorkEnvironment\tc8ITK\32\lib\*.lib" kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /NODEFAULTLIB:libuser_exits.ar.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\Debug\T5Sign_ITK.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\Debug\T5Sign_ITK.lib" /MACHINE:X86 /SAFESEH /DLL Debug\T5Sign_ITK.res + Debug\HS_pdf_signoff.obj + Debug\HS_set_signoff.obj + Debug\PX_CaxaToPDF.obj + Debug\stdafx.obj + Debug\T5Sign_ITK.obj + Debug\common_itk_util.obj + Debug\lib_custom_main.obj + Debug\string_helper.obj + Debug\string_utils.obj + Debug\clear_form_prop.obj + Debug\connor_util.obj + Debug\epm_register_handler.obj + Debug\epm_sign_rev.obj + Debug\epm_signoff_dataset.obj + Debug\erp_utils.obj + Debug\space_node.obj + 1>HS_pdf_signoff.obj : warning LNK4075: 忽略“/EDITANDCONTINUE”(由于“/SAFESEH”规范) + 正在创建库 Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\Debug\T5Sign_ITK.lib 和对象 Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\Debug\T5Sign_ITK.exp + 1>epm_register_handler.obj : error LNK2019: 无法解析的外部符号 _PX_pdf_signoff,该符号在函数 _USERSERVICE_custom_register_handlers 中被引用 + 1>Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\Debug\T5Sign_ITK.dll : fatal error LNK1120: 1 个无法解析的外部命令 + 1>已完成生成项目“Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\T5Sign_ITK.vcxproj”(Rebuild 个目标)的操作 - 失败。 + +生成失败。 + +已用时间 00:00:58.57 diff --git a/T5Sign_ITK/Debug/T5Sign_ITK.obj b/T5Sign_ITK/Debug/T5Sign_ITK.obj new file mode 100644 index 0000000..216a8aa Binary files /dev/null and b/T5Sign_ITK/Debug/T5Sign_ITK.obj differ diff --git a/T5Sign_ITK/Debug/T5Sign_ITK.pch b/T5Sign_ITK/Debug/T5Sign_ITK.pch new file mode 100644 index 0000000..36ba9ca Binary files /dev/null and b/T5Sign_ITK/Debug/T5Sign_ITK.pch differ diff --git a/T5Sign_ITK/Debug/T5Sign_ITK.res b/T5Sign_ITK/Debug/T5Sign_ITK.res new file mode 100644 index 0000000..fd17d6c Binary files /dev/null and b/T5Sign_ITK/Debug/T5Sign_ITK.res differ diff --git a/T5Sign_ITK/Debug/T5Sign_ITK.unsuccessfulbuild b/T5Sign_ITK/Debug/T5Sign_ITK.unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/T5Sign_ITK/Debug/cl.command.1.tlog b/T5Sign_ITK/Debug/cl.command.1.tlog new file mode 100644 index 0000000..649bdc1 Binary files /dev/null and b/T5Sign_ITK/Debug/cl.command.1.tlog differ diff --git a/T5Sign_ITK/Debug/clear_form_prop.obj b/T5Sign_ITK/Debug/clear_form_prop.obj new file mode 100644 index 0000000..d47e0dc Binary files /dev/null and b/T5Sign_ITK/Debug/clear_form_prop.obj differ diff --git a/T5Sign_ITK/Debug/common_itk_util.obj b/T5Sign_ITK/Debug/common_itk_util.obj new file mode 100644 index 0000000..b0ebb22 Binary files /dev/null and b/T5Sign_ITK/Debug/common_itk_util.obj differ diff --git a/T5Sign_ITK/Debug/connor_util.obj b/T5Sign_ITK/Debug/connor_util.obj new file mode 100644 index 0000000..7994a20 Binary files /dev/null and b/T5Sign_ITK/Debug/connor_util.obj differ diff --git a/T5Sign_ITK/Debug/epm_register_handler.obj b/T5Sign_ITK/Debug/epm_register_handler.obj new file mode 100644 index 0000000..3439763 Binary files /dev/null and b/T5Sign_ITK/Debug/epm_register_handler.obj differ diff --git a/T5Sign_ITK/Debug/epm_sign_rev.obj b/T5Sign_ITK/Debug/epm_sign_rev.obj new file mode 100644 index 0000000..3e3b59c Binary files /dev/null and b/T5Sign_ITK/Debug/epm_sign_rev.obj differ diff --git a/T5Sign_ITK/Debug/epm_signoff_dataset.obj b/T5Sign_ITK/Debug/epm_signoff_dataset.obj new file mode 100644 index 0000000..aa4e3db Binary files /dev/null and b/T5Sign_ITK/Debug/epm_signoff_dataset.obj differ diff --git a/T5Sign_ITK/Debug/erp_utils.obj b/T5Sign_ITK/Debug/erp_utils.obj new file mode 100644 index 0000000..93b1f2d Binary files /dev/null and b/T5Sign_ITK/Debug/erp_utils.obj differ diff --git a/T5Sign_ITK/Debug/lib_custom_main.obj b/T5Sign_ITK/Debug/lib_custom_main.obj new file mode 100644 index 0000000..08335b3 Binary files /dev/null and b/T5Sign_ITK/Debug/lib_custom_main.obj differ diff --git a/T5Sign_ITK/Debug/link-cvtres.read.1.tlog b/T5Sign_ITK/Debug/link-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Debug/link-cvtres.read.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Debug/link-cvtres.write.1.tlog b/T5Sign_ITK/Debug/link-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Debug/link-cvtres.write.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Debug/link-rc.read.1.tlog b/T5Sign_ITK/Debug/link-rc.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Debug/link-rc.read.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Debug/link-rc.write.1.tlog b/T5Sign_ITK/Debug/link-rc.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Debug/link-rc.write.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Debug/link.command.1.tlog b/T5Sign_ITK/Debug/link.command.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Debug/link.command.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Debug/link.read.1.tlog b/T5Sign_ITK/Debug/link.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Debug/link.read.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Debug/link.write.1.tlog b/T5Sign_ITK/Debug/link.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Debug/link.write.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Debug/rc.command.1.tlog b/T5Sign_ITK/Debug/rc.command.1.tlog new file mode 100644 index 0000000..15414d2 Binary files /dev/null and b/T5Sign_ITK/Debug/rc.command.1.tlog differ diff --git a/T5Sign_ITK/Debug/rc.read.1.tlog b/T5Sign_ITK/Debug/rc.read.1.tlog new file mode 100644 index 0000000..aa7a6f8 Binary files /dev/null and b/T5Sign_ITK/Debug/rc.read.1.tlog differ diff --git a/T5Sign_ITK/Debug/rc.write.1.tlog b/T5Sign_ITK/Debug/rc.write.1.tlog new file mode 100644 index 0000000..107d772 Binary files /dev/null and b/T5Sign_ITK/Debug/rc.write.1.tlog differ diff --git a/T5Sign_ITK/Debug/space_node.obj b/T5Sign_ITK/Debug/space_node.obj new file mode 100644 index 0000000..690eaf3 Binary files /dev/null and b/T5Sign_ITK/Debug/space_node.obj differ diff --git a/T5Sign_ITK/Debug/stdafx.obj b/T5Sign_ITK/Debug/stdafx.obj new file mode 100644 index 0000000..52c1d47 Binary files /dev/null and b/T5Sign_ITK/Debug/stdafx.obj differ diff --git a/T5Sign_ITK/Debug/string_helper.obj b/T5Sign_ITK/Debug/string_helper.obj new file mode 100644 index 0000000..a1995c6 Binary files /dev/null and b/T5Sign_ITK/Debug/string_helper.obj differ diff --git a/T5Sign_ITK/Debug/string_utils.obj b/T5Sign_ITK/Debug/string_utils.obj new file mode 100644 index 0000000..17a248c Binary files /dev/null and b/T5Sign_ITK/Debug/string_utils.obj differ diff --git a/T5Sign_ITK/Debug/vc110.idb b/T5Sign_ITK/Debug/vc110.idb new file mode 100644 index 0000000..d4083b2 Binary files /dev/null and b/T5Sign_ITK/Debug/vc110.idb differ diff --git a/T5Sign_ITK/Debug/vc110.pdb b/T5Sign_ITK/Debug/vc110.pdb new file mode 100644 index 0000000..5d1e7f3 Binary files /dev/null and b/T5Sign_ITK/Debug/vc110.pdb differ diff --git a/T5Sign_ITK/HS_pdf_signoff.cpp b/T5Sign_ITK/HS_pdf_signoff.cpp new file mode 100644 index 0000000..f40e922 --- /dev/null +++ b/T5Sign_ITK/HS_pdf_signoff.cpp @@ -0,0 +1,584 @@ +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include
+#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "epm_handler_common.h" +#include "error_handling.h" +#include "string_utils.h" +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "epm_handler_common.h" +#include "error_handling.h" +#include "string_utils.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // WindowsϵͳҪõͷļ +#include // ṩexit EXIT_FAILURE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "epm_handler_common.h" +#include "common_itk_util.h" +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "epm_handler_common.h" +#include "error_handling.h" +#include "string_utils.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // WindowsϵͳҪõͷļ +#include // ṩexit EXIT_FAILURE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +#define ITK_err 919821 +extern "C" int POM_AM__set_application_bypass(logical bypass); + + + +void Split1(string strArg, string spliter, vector& ans) +{ + ans.clear(); + size_t index0 = 0; + string one_arg; + if (strArg.find_first_not_of(' ') == string::npos) + strArg = ""; + while (strArg.size() > 0) + { + index0 = strArg.find_first_of(spliter); + if (index0 != string::npos) + { + one_arg = strArg.substr(0, index0); + strArg = strArg.substr(index0 + 1); + ans.push_back(one_arg); + } + else + { + ans.push_back(strArg); + break; + } + } +} + +bool file_exists1(const char* filepath) { + struct stat st; + + if (stat(filepath, &st) == 0) { + // ļ + return true; + } else { + // ļڻִ + if (errno == ENOENT) { + // ȷļ + return false; + } else { + // 󣬴ӡϢfalse + perror("An error occurred while checking the file"); + return false; + } + } +} + +//ǩ +int PX_pdf_signoff(EPM_action_message_t msg) { + int ifail = ITK_ok; + + //̽ڵ + tag_t root_task = NULLTAG, * sub_tasks = NULL, current_task = NULLTAG, type_tag = NULLTAG; + int sub_task_count = 0; + char root_task_name[128] = "", task_name[128] = ""; + int occur_of_counts = 0; + tag_t* taskAttches = NULLTAG; + char tgt_type[WSO_name_size_c + 1] = "", * type_class; + ////ѭڲ + tag_t cur_task = NULLTAG; + + //ڵѭ + tag_t itemrevision = NULLTAG, master_form_rel_type = NULLTAG; + int form_count = 0; + tag_t* form_list = NULL, master_form = NULLTAG; + char* TC_master_form_rtype1 = "IMAN_specification"; + char* TC_specification_rtype1 = "IMAN_specification"; + current_task = msg.task; + //CreateLogFile("PLA8_signoff",&txtfile); + printf("ǩ ʼִ\n"); + printf("=========================================================\n"); + + POM_AM__set_application_bypass(true); + + //ѡֵ + printf("ȡѡֵ\n"); + int path_count; char** path_values; + PREF_ask_char_values("PX_SignatureImagePath", &path_count, &path_values); + + //ȡ + EPM_ask_root_task(msg.task, &root_task); + EPM_ask_sub_tasks(root_task, &sub_task_count, &sub_tasks); + EPM_ask_attachments(root_task, EPM_target_attachment, &occur_of_counts, &taskAttches); + printf("%d target attachment found", occur_of_counts); + + for (int count = 0; count < occur_of_counts; count++) + { + printf("ʼȡ\n"); + + ITKCALL(AOM_ask_value_string(taskAttches[count], "object_type", &type_class)); + printf("tag_type=%s\n", type_class); + + printf("%s\n",type_class); + //˵ǰ汾 + if (((strstr(type_class, "Revision") != NULL) || (strstr(type_class, "revision") != NULL)) + && (strstr(type_class, "Master") == NULL) && (strstr(type_class, "master") == NULL) + && (strstr(type_class, "BOM") == NULL) && (strstr(type_class, "bom") == NULL) && (strstr(type_class, "Bom") == NULL)) + { + printf("ȡ˰汾\n"); + itemrevision = taskAttches[count]; + //ݼ + printf("ʼȡ淶ϵݼ\n"); + tag_t relation_type = NULLTAG; + //tag_t attach_relation_type = NULLTAG; + ITKCALL(GRM_find_relation_type(TC_specification_rtype1, &relation_type)); + tag_t* secondary_objects = NULLTAG; + int ds_count = 0; + char* dataset_type = NULL, * desc_value = NULL, * file_path = NULL, * desc_path; + + ITKCALL(GRM_list_secondary_objects_only(itemrevision, relation_type, &ds_count, &secondary_objects)); + + for (int j = 0; j < ds_count; j++) + { + printf("1\n"); + ITKCALL(AOM_ask_value_string(secondary_objects[j], "object_type", &dataset_type)); + int des_count = 0; + tag_t* dess = NULL; + + printf("dataset_type=%s\n", dataset_type); + if (strcmp(dataset_type, "PDF") != 0) { + + if (dataset_type != NULL) { + MEM_free(dataset_type); + dataset_type = NULL; + } + + continue; + } + ITKCALL(AOM_ask_value_tags(secondary_objects[j], "ref_list", &des_count, &dess)); + if (des_count < 1) { + printf("ݼ\n"); + continue; + } + else { + char* sizeFile; + AOM_ask_value_string(dess[0], "file_size", &sizeFile); + printf("sizeFile %s \n", sizeFile); + if (strcmp(sizeFile, "0 bytes") == 0) { + printf("ļС0bytes\n"); + continue; + } + } + tag_t spec_dataset_rev = NULLTAG, + ref_object = NULLTAG; + char* ref_object_name = NULL; + AE_reference_type_t reference_type; + char* datasetName = NULL; + char pathname[1024] = ""; + char origin_file_name[1024] = ""; + + vector type_vec; + printf("ʼж\n"); + if (strcmp(dataset_type, "PDF") == 0) { + printf("pdf\n"); + int values_count = 0; + char** values; + char* value; + ITKCALL(PREF_ask_char_values("PX_signoff_pdf_attr", &values_count, &values)); + char signoffValue[1024] = "\0"; + for (int i = 0; i < values_count; i++) + { + printf("values=%s\n", values[i]); + Split1(values[i], "=", type_vec); + ITKCALL(AOM_ask_value_string(itemrevision, type_vec[1].c_str(), &value)); + strcat(signoffValue, type_vec[0].c_str()); + strcat(signoffValue, "="); + //жǷ׺ + //ж·Ƿļ + char* getpath = path_values[0]; + printf("getpath:%s\n",getpath); + char temPath[512]; + strcpy(temPath, getpath); // ȸstr1 + strcat(temPath, value); // ƴstr2 + printf("temPath:%s\n",temPath); + char jpgfile[600]; + char pngfile[600]; + char tiffile[600]; + + strcpy(jpgfile,temPath); + strcat(jpgfile,".jpg"); + + strcpy(pngfile,temPath); + strcat(pngfile,".png"); + + strcpy(tiffile,temPath); + strcat(tiffile,".tif"); + + if (file_exists1(jpgfile)) { + strcat(signoffValue, jpgfile); + }else if(file_exists1(pngfile)){ + strcat(signoffValue, pngfile); + }else if(file_exists1(tiffile)){ + strcat(signoffValue, tiffile); + }else{ + strcat(signoffValue, value); + } + //strcat(signoffValue, value); + strcat(signoffValue, "|"); + MEM_free(value); + type_vec.clear(); + } + MEM_free(values); + printf("signoffValue=%s\n", signoffValue); + char path[128] = "\0"; + strcat(path, getenv("TEMP")); + strcat(path, "\\"); + strcat(path, "PDFsignoff.txt"); + FILE* fpWrite = fopen(path, "w"); + fprintf(fpWrite, "%s", signoffValue); + fclose(fpWrite); + //MEM_free(fpWrite); + AOM_ask_value_string(secondary_objects[j], "object_name", &datasetName); + AE_ask_dataset_latest_rev(secondary_objects[j], &spec_dataset_rev); + AOM_ask_value_string(spec_dataset_rev, "object_name", &ref_object_name); + printf("ref_object_name=%s\n", ref_object_name); + char ref_name[WSO_name_size_c + 1] = "PDF_Reference"; + + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if (ref_object == NULLTAG) + { + printf("\nref_object is NULLTAG\n"); + return ITK_ok; + } + printf("reference_type=%d\n", reference_type); + if (reference_type == AE_PART_OF) + { + printf("ȡݼļ·\n"); + ITKCALL(IMF_ask_file_pathname(ref_object, SS_WNT_MACHINE, pathname)); + printf("ȡļ\n"); + IMF_ask_original_file_name(ref_object, origin_file_name); + char new_ds_name[WSO_name_size_c + 1] = ""; + printf("µļ\n"); + char* new_file_name = USER_new_file_name(new_ds_name, ref_name, "pdf", 0); + printf("ȡ·\n"); + char* temp_dir = getenv("temp"); + char temp_file[SS_MAXPATHLEN] = ""; + char temp_file2[SS_MAXPATHLEN] = ""; + + strcpy(temp_file, temp_dir); + strcat(temp_file, "\\"); + strcat(temp_file, new_file_name); + printf("ݼļ%s\n",temp_file); + IMF_export_file(ref_object, temp_file); + if (strstr(new_file_name, ".pdf") != NULL) { + sprintf(temp_file2, "%s\\1%s", temp_dir, new_file_name); + } + else { + sprintf(temp_file2, "%s\\1%s.pdf", temp_dir, new_file_name); + } + printf("µļ%s\n",new_file_name); + printf("\ntemp_file=%s\n", temp_file); + char cmd[256] = ""; + char* tc_root_dir = getenv("tc_root"); + strcpy(cmd, "java -jar "); + strcat(cmd, tc_root_dir); + strcat(cmd, "\\bin\\PX_PDFSignoff.jar"); + strcat(cmd, " \""); + strcat(cmd, path); + strcat(cmd, "\" \""); + strcat(cmd, temp_file); + strcat(cmd, "\" \""); + strcat(cmd, temp_file2); + strcat(cmd, "\""); + printf("\n%s\n", cmd); + system(cmd); + + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor; + if (temp_file2 != NULL) { + IMF_import_file(temp_file2, new_file_name, SS_BINARY, &new_file_tag, &file_descriptor); + } + else + { + IMF_import_file(temp_file, new_file_name, SS_BINARY, &new_file_tag, &file_descriptor); + } + AOM_lock(new_file_tag); + IMF_set_original_file_name(new_file_tag, origin_file_name); + IMF_close_file(file_descriptor); + AOM_save(new_file_tag); + AOM_unlock(new_file_tag); + + AOM_lock(spec_dataset_rev); + AE_remove_dataset_named_ref_by_tag(spec_dataset_rev, ref_name, ref_object); + AE_add_dataset_named_ref(spec_dataset_rev, ref_name, AE_PART_OF, new_file_tag); + AOM_save(spec_dataset_rev); + AOM_unlock(spec_dataset_rev); + //2024.7.19ٷ + int temp_count = 1; + tag_t* release_objs = NULL; + tag_t release_status = NULLTAG; + release_objs = (tag_t*)MEM_alloc(temp_count * sizeof(tag_t)); + release_objs[0] = spec_dataset_rev; + + ITKCALL(CR_create_release_status("Released", &release_status)); + ITKCALL(EPM_add_release_status(release_status, temp_count, release_objs, TRUE)); + + } + } + MEM_free(dataset_type); + + } + + + } + } + + POM_AM__set_application_bypass(false); + printf("=========================================================\n"); + printf("ǩ \n"); + printf("=========================================================\n"); + return ITK_ok; +} \ No newline at end of file diff --git a/T5Sign_ITK/HS_set_signoff.cpp b/T5Sign_ITK/HS_set_signoff.cpp new file mode 100644 index 0000000..fcfaa5f --- /dev/null +++ b/T5Sign_ITK/HS_set_signoff.cpp @@ -0,0 +1,510 @@ +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "epm_handler_common.h" +#include "error_handling.h" +#include "string_utils.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // WindowsϵͳҪõͷļ +#include // ṩexit EXIT_FAILURE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + + +using namespace std; + +#define ITK_err 919821 +extern "C" int POM_AM__set_application_bypass(logical bypass); + + +string replace_all_distinct(char* strC, char* old_valueC, char* new_valueC) +{ + + string str = strC; + string old_value = old_valueC; + string new_value = new_valueC; + + for (string::size_type pos(0); pos != string::npos; pos += new_value.length()) { + if ((pos = str.find(old_value, pos)) != string::npos) + str.replace(pos, old_value.length(), new_value); + else break; + } + return str; + //strC = bstr; + //strcpy(strC,bstr); +} + + +void Split2(string strArg, string spliter, vector& ans) +{ + ans.clear(); + size_t index0 = 0; + string one_arg; + if (strArg.find_first_not_of(' ') == string::npos) + strArg = ""; + while (strArg.size() > 0) + { + index0 = strArg.find_first_of(spliter); + if (index0 != string::npos) + { + one_arg = strArg.substr(0, index0); + strArg = strArg.substr(index0 + 1); + ans.push_back(one_arg); + } + else + { + ans.push_back(strArg); + break; + } + } +} +char* removeLastCharsFromPath(char* filePath, int n) { + char* ext = strrchr(filePath, '.'); + if (ext && strlen(ext) >= 5) { + ext[strlen(ext) - n] = '\0'; + } + return filePath; // ޸ĺ· +} + +int fileExists(const char* filePath) { + struct stat st; + return stat(filePath, &st) == 0; +} + +bool file_exists(const char* filepath) { + struct stat st; + + if (stat(filepath, &st) == 0) { + // ļ + return true; + } else { + // ļڻִ + if (errno == ENOENT) { + // ȷļ + return false; + } else { + // 󣬴ӡϢfalse + perror("An error occurred while checking the file"); + return false; + } + } +} + +int PX_set_signoff(EPM_action_message_t msg) { + + printf("===================================\n"); + printf("word/excelĵǩ ʼ\n"); + printf("===================================\n"); + + int ifail = ITK_ok; + int att_cnt = 0, jpg_count = 0; + tag_t task_tag = NULLTAG, + root_task_tag = NULLTAG, + * attachments = NULL; + //ڵѭ + char* argflag = NULL, * argvalue = NULL, * arg = NULL; + int arg_cnt = 0; + char sign_attr[2048] = ""; + arg_cnt = TC_number_of_arguments(msg.arguments); + printf("Ϊ%d\n", arg_cnt); + + if (arg_cnt > 0) + { + for (int i = 0; i < arg_cnt; i++) + { + //ȡһ0ʼ + arg = TC_next_argument(msg.arguments); + //ȡƺֵ + ITK_ask_argument_named_value((const char*)arg, &argflag, &argvalue); + if (strcmp(argflag, "sign") == 0) + { + if (argvalue != NULL) + { + strcpy(sign_attr, argvalue); + } + } + + } + MEM_free(argflag); + MEM_free(argvalue); + } + tag_t itemrevision = NULLTAG; + printf("Ȩ\n"); + POM_AM__set_application_bypass(true); + task_tag = msg.task; + char* taskName; + EPM_ask_root_task(task_tag, &root_task_tag); + AOM_ask_value_string(root_task_tag, "job_name", &taskName); + //EPM_ask_name2(root_task_tag, &taskName); + EPM_ask_attachments(root_task_tag, EPM_target_attachment, &att_cnt, &attachments); + //ѡֵ + printf("ȡѡֵ\n"); + int path_count; char** path_values; + PREF_ask_char_values("PX_SignatureImagePath", &path_count, &path_values); + if (path_count==0) { + EMH_store_error_s1(EMH_severity_user_error, EMH_USER_error_base, "ѡPX_SignatureImagePathδá"); + return -1; + } + if (att_cnt > 0) { + + for (int i = 0; i < att_cnt; i++) + { + int doc_num = 0; + tag_t* doc_tags = NULL; + tag_t* dataFile = NULL; + int fileNum = 0; + char* tag_type; + char* type; + ITKCALL(AOM_ask_value_string(attachments[i], "object_type", &tag_type)); + printf("tag_type=%s\n", tag_type); + if (strstr(tag_type, "Revision") != NULL && strstr(tag_type, "Master") == NULL) + { + itemrevision = attachments[i]; + /* int values_count = 0; + char** values; + char* value; + ITKCALL(PREF_ask_char_values("HS2_signoff_attr", &values_count, &values));*/ + vector sign_vec; + Split2(sign_attr, ";", sign_vec); + char signoffValue[1024] = "\0"; + vector type_vec; + char* value; + for (int i = 0; i < sign_vec.size(); i++) + { + printf("values=%s\n", sign_vec[i].c_str()); + Split2(sign_vec[i].c_str(), "=", type_vec); + ITKCALL(AOM_ask_value_string(itemrevision, type_vec[1].c_str(), &value)); + strcat(signoffValue, type_vec[0].c_str()); + strcat(signoffValue, "="); + //жǷ׺ + //ж·Ƿļ + char* getpath = path_values[0]; + printf("getpath:%s\n",getpath); + char temPath[512]; + strcpy(temPath, getpath); // ȸstr1 + strcat(temPath, value); // ƴstr2 + printf("temPath:%s\n",temPath); + char jpgfile[600]; + char pngfile[600]; + char tiffile[600]; + + strcpy(jpgfile,temPath); + strcat(jpgfile,".jpg"); + + strcpy(pngfile,temPath); + strcat(pngfile,".png"); + + strcpy(tiffile,temPath); + strcat(tiffile,".tif"); + + printf("ж%sǷ",&jpgfile); + printf("ж%sǷ",&pngfile); + printf("ж%sǷ",&tiffile); + + if (file_exists(jpgfile)) { + printf("%s",&jpgfile); + strcat(signoffValue, jpgfile); + }else if(file_exists(pngfile)){ + printf("%s",&pngfile); + strcat(signoffValue, pngfile); + }else if(file_exists(tiffile)){ + printf("%s",&tiffile); + strcat(signoffValue, tiffile); + }else{ + printf(""); + strcat(signoffValue, value); + } + + + + strcat(signoffValue, "|"); + MEM_free(value); + type_vec.clear(); + } + //MEM_free(values); + printf("signoffValue=%s\n", signoffValue); + char path[128] = "\0"; + strcat(path, getenv("TEMP")); + strcat(path, "\\"); + strcat(path, "signoff.txt"); + FILE* fpWrite = fopen(path, "w"); + fprintf(fpWrite, "%s", signoffValue); + fclose(fpWrite); + printf("path:%s",path); + ITKCALL(AOM_ask_value_tags(itemrevision, "IMAN_specification", &doc_num, &doc_tags)); + if (doc_num > 0) + { + for (int i = 0; i < doc_num; i++) + { + ITKCALL(AOM_ask_value_string(doc_tags[i], "object_type", &type)); + printf("type=%s\n", type); + tag_t spec_dataset_rev = NULLTAG, ref_object = NULLTAG; + AE_reference_type_t reference_type; + printf("ȡµݼ汾\n"); + AE_ask_dataset_latest_rev(doc_tags[i], &spec_dataset_rev); + printf("ȡµݼ汾\n"); + char* new_file_name = NULL; + char origin_file_name[1024] = ""; + char pathname[SS_MAXPATHLEN] = ""; + char ref_name[WSO_name_size_c + 1] = ""; + char cmd[256] = ""; + bool flag = false; + printf("ʼжļ\n"); + if (strcmp(type, "MSWordX") == 0) { + //ITKCALL(AOM_ask_value_tags(doc_tags[i],"ref_list",&fileNum,&dataFile)); + strcpy(cmd, "SubstMacros-MSWord.wsf"); + strcpy(ref_name, "word"); + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if (reference_type == AE_PART_OF) + { + char new_ds_name[WSO_name_size_c + 1] = ""; + new_file_name = USER_new_file_name(new_ds_name, ref_name, "docx", 0); + flag = true; + } + } + else if (strcmp(type, "MSWord") == 0) { + //ITKCALL(AOM_ask_value_tags(doc_tags[i],"ref_list",&fileNum,&dataFile)); + strcpy(cmd, "SubstMacros-MSWord.wsf"); + strcpy(ref_name, "word"); + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if (reference_type == AE_PART_OF) + { + char new_ds_name[WSO_name_size_c + 1] = ""; + new_file_name = USER_new_file_name(new_ds_name, ref_name, "doc", 0); + flag = true; + } + } + else if (strcmp(type, "MSExcelX") == 0) + { + printf("ʼýű"); + //ITKCALL(AOM_ask_value_tags(doc_tags[i],"ref_list",&fileNum,&dataFile)); + strcpy(cmd, "SetPicture-MSExcel.wsf"); + strcpy(ref_name, "excel"); + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if (reference_type == AE_PART_OF) + { + char new_ds_name[WSO_name_size_c + 1] = ""; + new_file_name = USER_new_file_name(new_ds_name, ref_name, "xlsx", 0); + flag = true; + } + } + else if (strcmp(type, "MSExcel") == 0) + { + printf("ʼȡýű\n"); + //ITKCALL(AOM_ask_value_tags(doc_tags[i],"ref_list",&fileNum,&dataFile)); + strcpy(cmd, "SetPicture-MSExcel.wsf"); + strcpy(ref_name, "excel"); + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if (reference_type == AE_PART_OF) + { + char new_ds_name[WSO_name_size_c + 1] = ""; + new_file_name = USER_new_file_name(new_ds_name, ref_name, "xls", 0); + flag = true; + } + } + if (ref_object == NULLTAG || !flag) { + continue; + } + printf("1\n"); + ITKCALL(IMF_ask_file_pathname(ref_object, SS_WNT_MACHINE, pathname)); + IMF_ask_original_file_name(ref_object, origin_file_name); + char* temp_dir = getenv("temp"); + char temp_file[2048] = ""; + char temp_file1[2048] = ""; + char temp_file2[2048] = ""; + char time1[256] = "\0"; + char file_path[128] = "\0"; + printf("2\n"); + time_t t = time(0); + tm* local = localtime(&t); + sprintf(time1, "%d%d%d%d%d%d", local->tm_year, local->tm_mon, local->tm_mday, local->tm_hour, local->tm_min, local->tm_sec); + strcpy(temp_file, temp_dir); + string folderPath = ""; + folderPath.append("D:\\Siemens\\Officesignofflogs\\"); + string task_name = taskName; + printf("3\n"); + if (strstr(task_name.c_str(), "/") != NULL) { + task_name = replace_all_distinct(taskName, "/", " "); + } + if (strstr(task_name.c_str(), "\\") != NULL) { + task_name = replace_all_distinct(taskName, "\\", " "); + } + folderPath.append(task_name); + folderPath.append("-"); + folderPath.append(time1); + if (0 != _access(folderPath.c_str(), 0)) + { + // if this folder not exist, create a new one. + ITKCALL(::_mkdir(folderPath.c_str())); // 0 ʾɹ-1 ʾʧ + // ::_mkdir ::_access ҲУ֪ʲô˼ + } + printf("4\n"); + strcat(temp_file, "\\"); + printf("4.1\n"); + + printf("4.2\n"); + printf( "ʱļ·%s", temp_file); + strcat(temp_file, new_file_name); + printf("temfile:%s",temp_file); + if ((_access(temp_file, 0)) != -1) { + if (!remove(temp_file)) { + remove(temp_file); + } + } + printf("\nʼļ\n"); + ITKCALL(IMF_export_file(ref_object, temp_file)); + char* filName; + ITKCALL(AOM_ask_value_string(ref_object,"file_name",&filName)); + printf("4.3\n"); + strcpy(temp_file1, folderPath.c_str()); + printf("4.4\n"); + strcat(temp_file1, "\\"); + printf("4.5\n"); + strcat(temp_file1, "ǩǰļ "); + printf("4.6\n"); + strcat(temp_file1, new_file_name); + printf("4.7\n"); + strcpy(temp_file2, folderPath.c_str()); + printf("4.8\n"); + strcat(temp_file2, "\\"); + printf("4.9\n"); + strcat(temp_file2, "ǩֺļ "); + printf("4.10\n"); + strcat(temp_file2, new_file_name); + printf("4.11\n"); + printf("5\n"); + string from = temp_file, to = temp_file1, to2 = temp_file2; + ifstream in(from, ios::in | ios::binary); + if (!in) + { + return 1; + } + ofstream out(to, ios::out | ios::binary); + char ch; + while (in.get(ch)) + { + out.put(ch); + } + printf("6\n"); + in.close(); + out.close(); + strcat(cmd, " \""); + strcat(cmd, temp_file); + strcat(cmd, "\" \""); + strcat(cmd, path); + strcat(cmd, "\""); + printf("\n%s\n", cmd); + + system(cmd); + char ch2; + ifstream in2(from, ios::in | ios::binary); + if (!in2) + { + return 1; + } + ofstream out2(to2, ios::out | ios::binary); + //char ch; + while (in2.get(ch2)) + { + out2.put(ch2); + } + in.close(); + out.close(); + + + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor; + IMF_import_file(temp_file, new_file_name, SS_BINARY, &new_file_tag, &file_descriptor); + IMF_set_original_file_name(new_file_tag, origin_file_name); + IMF_close_file(file_descriptor); + AOM_save(new_file_tag); + //AOM_unlock(new_file_tag); + + AOM_lock(spec_dataset_rev); + + AE_remove_dataset_named_ref_by_tag(spec_dataset_rev, ref_name, ref_object); + + AE_add_dataset_named_ref(spec_dataset_rev, ref_name, AE_PART_OF, new_file_tag); + AOM_save(spec_dataset_rev); + AOM_unlock(spec_dataset_rev); + } + } + } + } + } + + printf("سȨ\n"); + POM_AM__set_application_bypass(false); + printf("===================================\n"); + printf("word/excelĵǩ \n"); + printf("===================================\n"); + + return ifail; + +} \ No newline at end of file diff --git a/T5Sign_ITK/PX_CaxaToPDF.cpp b/T5Sign_ITK/PX_CaxaToPDF.cpp new file mode 100644 index 0000000..2ca092b --- /dev/null +++ b/T5Sign_ITK/PX_CaxaToPDF.cpp @@ -0,0 +1,730 @@ +#include "epm_handler_common.h" +#include "common_itk_util.h" +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "epm_handler_common.h" +#include "error_handling.h" +#include "string_utils.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // WindowsϵͳҪõͷļ +#include // ṩexit EXIT_FAILURE +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +std::string removeFileExtension(const std::string& filePath) { + size_t dotPos = filePath.find_last_of('.'); // һ'.'λ + if (dotPos == std::string::npos) { + // ûҵ'.'˵ļûк׺ֱӷԭļ + return filePath; + } else { + // ҵ'.'򷵻شӿʼ'.'ǰӴȥ˺׺ļ + return filePath.substr(0, dotPos); + } +} + +//ݼ +int import_dataset_file_binary(tag_t dataset, const char* temp_path, const char* ref_name, char* ext, char* fullfilename, char* original_name) +{ + int ifail = ITK_ok; + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor = NULL; + AOM_refresh(dataset, FALSE); + char* new_file_name = NULL; + char new_ds_name[WSO_name_size_c + 1] = ""; + char* filename = NULL; + new_file_name = USER_new_file_name(new_ds_name, ref_name, ext, 0); + filename = strrchr(fullfilename, '\\') + 1; + if (filename == NULL) + return ITK_ok; + ITKCALL(ifail = IMF_import_file(fullfilename, new_file_name, SS_BINARY, &new_file_tag, &file_descriptor)); + ITKCALL(ifail = IMF_set_original_file_name(new_file_tag, original_name)); + + ITKCALL(ifail = IMF_close_file(file_descriptor)); + ITKCALL(ifail = AOM_save(new_file_tag)); + AOM_unlock(new_file_tag); + ITKCALL(ifail = AOM_refresh(new_file_tag, FALSE)); + // + ITKCALL(ifail = AOM_lock(dataset)); + if (ifail != ITK_ok) { return ifail; } + ITKCALL(ifail = RES_checkout(dataset, "import file", NULL, temp_path, RES_EXCLUSIVE_RESERVE)); + if (ifail != ITK_ok) { return ifail; } + ITKCALL(ifail = AE_remove_dataset_named_ref(dataset, ref_name)); + if (ifail != ITK_ok) { return ifail; } + ITKCALL(ifail = AOM_save(dataset)); + ITKCALL(ifail = AE_add_dataset_named_ref(dataset, ref_name, AE_PART_OF, new_file_tag)); + AOM_save(dataset); + ITKCALL(ifail = RES_checkin(dataset)); + AOM_unlock(dataset); + //ITKCALL( AOM_refresh( dataset, FALSE ) ); + return ifail; +} + +char* Utf8ToGbk(const char* src_str) +{ + int len = MultiByteToWideChar(CP_UTF8, 0, src_str, -1, NULL, 0); + wchar_t* wszGBK = (wchar_t*)MEM_alloc((len + 1) * sizeof(wchar_t)); + memset(wszGBK, 0, len * 2 + 2); + MultiByteToWideChar(CP_UTF8, 0, src_str, -1, wszGBK, len); + len = WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, NULL, 0, NULL, NULL); + char* szGBK = (char*)MEM_alloc((len + 1) * sizeof(char)); + + memset(szGBK, 0, len + 1); + WideCharToMultiByte(CP_ACP, 0, wszGBK, -1, szGBK, len, NULL, NULL); + return szGBK; +} + +char* remove_suffix(char* file) { + char* last_dot = strrchr(file, '.'); + if (last_dot != NULL && strrchr(file, '\\') < last_dot) + *last_dot = '\0'; + return file; +} + +std::string getCurrentTimestamp() { + time_t rawtime; + struct tm * timeinfo; + char buffer[80]; + + time(&rawtime); + timeinfo = localtime(&rawtime); + + // Format: YYYYMMDDHHMMSS + strftime(buffer, 80, "%Y%m%d%H%M%S", timeinfo); + + return buffer; +} + +// Function to create directory if not exists, and then create a timestamp folder inside it +bool createTimestampDirectory(const std::string& parentPath, const std::string& timestamp) { + // Convert string paths to char* for use with _mkdir + const char* parentPathCStr = parentPath.c_str(); + std::string fullPath = parentPath + "\\" + timestamp; + const char* fullPathCStr = fullPath.c_str(); + + // Check if the parent directory exists + if (_access(parentPathCStr, 0) != 0) { + // If not, attempt to create it + if (_mkdir(parentPathCStr) != 0) { + std::cerr << "Failed to create directory: " << parentPath << std::endl; + return false; + } + } + + // Attempt to create the timestamp directory + if (_mkdir(fullPathCStr) != 0 && errno != EEXIST) { // EEXIST means the directory already exists + std::cerr << "Failed to create directory: " << fullPath << std::endl; + return false; + } + + return true; +} + +extern "C" int POM_AM__set_application_bypass(logical bypass); + + +void startJavaJarInNewProcess(const std::wstring& jarPath, const std::wstring& rev_uids, const std::wstring& puids, const std::wstring& tcstatus, const std::wstring& compyname, const std::wstring& identity) { + std::wstring cmd = L"java -jar \"" + jarPath + L"\" \"" + rev_uids + L"\" \"" + puids + L"\" \"" + tcstatus + L"\" \"" + compyname + L"\" \"" + identity + L"\""; + std::wstring batchFile = L"run_jar.bat"; + + // дļ + printf("дļ\n"); + std::wofstream file(batchFile); // ʹ wofstream ַֿ֧ + if (file.is_open()) { + file << cmd << std::endl; + file.close(); + + // ʹ ShellExecute ļ + printf("ʹ ShellExecute ļ\n"); + if (ShellExecute(NULL, L"open", batchFile.c_str(), NULL, NULL, SW_SHOW) <= (HINSTANCE)32) { + printf("ShellExecute failed\n"); + std::cerr << "ShellExecute failed." << std::endl; + } + } else { + printf("Unable to create batch file\n"); + std::cerr << "Unable to create batch file." << std::endl; + } +} + + +void startJavaJarInNewProcess2(const std::wstring& jarPath, const std::wstring& rev_uids, const std::wstring& puids, const std::wstring& tcstatus, const std::wstring& compyname, const std::wstring& identity) { + std::wstring cmd = L"java -jar \"" + jarPath + L"\" \"" + rev_uids + L"\" \"" + puids + L"\" \"" + tcstatus + L"\" \"" + compyname + L"\" \"" + identity + L"\""; + std::wstring fullCmd = L"cmd.exe /c " + cmd; + + STARTUPINFO si; + PROCESS_INFORMATION pi; + + ZeroMemory(&si, sizeof(si)); + si.cb = sizeof(si); + ZeroMemory(&pi, sizeof(pi)); + + // µĽ + if (!CreateProcess(NULL, // No module name (use command line) + &fullCmd[0], // Command line + NULL, // Process handle not inheritable + NULL, // Thread handle not inheritable + FALSE, // Set handle inheritance to FALSE + 0, // No creation flags + NULL, // Use parent's environment block + NULL, // Use parent's starting directory + &si, // Pointer to STARTUPINFO structure + &pi) // Pointer to PROCESS_INFORMATION structure + ) { + std::cerr << "CreateProcess failed (" << GetLastError() << ")." << std::endl; + return; + } + + // ȴӽ + WaitForSingleObject(pi.hProcess, INFINITE); + + // رս̺߳̾ + CloseHandle(pi.hProcess); + CloseHandle(pi.hThread); +} + +// char* תΪ wchar_t* +std::wstring charToWString(const char* str) { + size_t len = strlen(str); + std::wstring wstr(len, L'\0'); + mbstowcs(&wstr[0], str, len); + return wstr; +} + +int PX_CaxaSign(EPM_action_message_t msg) +{ + ECHO("==================caxaͼֽӳ估תPDF START=======================\n"); + map type_map;//ļƶӦеitem + + int ifail = ITK_ok, + att_cnt = 0; + + tag_t task_tag = NULLTAG, + root_task_tag = NULLTAG, + * attachments = NULL; + + char arg_type[1024] = ""; + char arg_caxatype[1024] = ""; + char arg_tcstatus[1024] = ""; + char arg_jarpath[1024] = ""; + char arg_compyname[1024] = "PX"; + char arg_identity[1024] = ""; + char* argflag = NULL, * argvalue = NULL, * arg = NULL; + int arg_cnt = 0; + + arg_cnt = TC_number_of_arguments(msg.arguments); + ECHO("Ϊ%d\n", arg_cnt); + if (arg_cnt > 0) + { + for (int i = 0; i < arg_cnt; i++) + { + //ȡһ0ʼ + arg = TC_next_argument(msg.arguments); + //ȡƺֵ + ITK_ask_argument_named_value((const char*)arg, &argflag, &argvalue); + if (stricmp(argflag, "type") == 0) //汾 + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_type, argvalue); + } + } + if (stricmp(argflag, "caxatype") == 0) //caxaݼ + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_caxatype, argvalue); + } + } + if (stricmp(argflag, "tcstatus") == 0) //״̬ + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_tcstatus, argvalue); + } + } + if (stricmp(argflag, "jarpath") == 0) //ܰ· + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_jarpath, argvalue); + } + } + if (stricmp(argflag, "identity") == 0) //תͼʶ + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_identity, argvalue); + } + } + } + ECHO("type%s\n", arg_type); + ECHO("caxatype%s\n", arg_caxatype); + ECHO("tcstatus%s\n", arg_tcstatus); + ECHO("jarpath%s\n", arg_jarpath); + ECHO("compyname%s\n", arg_compyname); + ECHO("identity%s\n", arg_identity); + MEM_free(argflag); + MEM_free(argvalue); + } + task_tag = msg.task; + EPM_ask_root_task(task_tag, &root_task_tag); + EPM_ask_attachments(root_task_tag, EPM_target_attachment, &att_cnt, &attachments); + char rev_uids[10240] = "\0"; + char puids[10240] = "\0"; + int current_len = 0; + for (int i = 0; i < att_cnt; i++) { + tag_t* spec; + char* object_type, * spec_type; + int spec_num; + AOM_ask_value_string(attachments[i], "object_type", &object_type); + ECHO("汾ͣ%s\n", object_type); + if (strstr(arg_type, object_type) != NULL) { + AOM_ask_value_tags(attachments[i], "IMAN_specification", &spec_num, &spec); + char* rev_uid; + POM_tag_to_uid(attachments[i], &rev_uid); + ECHO("IMAN_specification num%d\n", spec_num); + + + + for (int j = 0; j < spec_num; j++) { + boolean has_dataset = false; + AOM_ask_value_string(spec[j], "object_type", &spec_type); + ECHO("淶ͣ%s\n", spec_type); + if (strstr(arg_caxatype, spec_type) != NULL) + { + + has_dataset = true; + ECHO("\n"); + char* dataset_uid; + //WSOM_ask_id_string(attachments[i], &rev_uid); + POM_tag_to_uid(spec[j], &dataset_uid); + //int len = strlen(puids); + + if (strcmp(puids, "\0") == 0) + { + + } + else + { + strcat(puids, "|"); + current_len++; + } + printf("%s\n", puids); + //¼ݼ + if (strcmp(puids, "\0") == 0) + { + current_len = current_len + strlen(dataset_uid); + strcpy(puids, dataset_uid); + } + else + { + if (puids[current_len - 1] != '|') + { + strcat(puids, ","); + strcat(puids, dataset_uid); + current_len = current_len + strlen(dataset_uid) + 1; + } + else { + strcat(puids, dataset_uid); + current_len = current_len + strlen(dataset_uid); + } + } + + MEM_free(dataset_uid); + } + + if (has_dataset) { + //¼汾 + if (strcmp(rev_uids, "\0") == 0) + { + strcpy(rev_uids, rev_uid); + } + else + { + strcat(rev_uids, ","); + strcat(rev_uids, rev_uid); + } + + + } + } + + MEM_free(rev_uid); + } + + } + printf("2023/12/29\n"); + // char תΪ std::wstring + //std::wstring jarPath = charToWString(arg_jarpath); + //std::wstring rev_uids_str = charToWString(rev_uids); + //std::wstring puids_str = charToWString(puids); + //std::wstring tcstatus_str = charToWString(arg_tcstatus); + // std::wstring compyname_str = charToWString(arg_compyname); + // std::wstring identity_str = charToWString(arg_identity); + + //startJavaJarInNewProcess(jarPath, rev_uids_str, puids_str, tcstatus_str, compyname_str, identity_str); + char cmd[20480] = ""; + strcpy(cmd, "C:\\Java\\jdk1.7.0_15\\bin\\java.exe -jar "); + strcat(cmd, arg_jarpath); + strcat(cmd, " \""); + strcat(cmd, rev_uids); + strcat(cmd, "\""); + strcat(cmd, " \""); + strcat(cmd, puids); + strcat(cmd, "\""); + strcat(cmd, " \""); + strcat(cmd, arg_tcstatus); + strcat(cmd, "\""); + strcat(cmd, " \""); + strcat(cmd, arg_compyname); + strcat(cmd, "\""); + strcat(cmd, " \""); + strcat(cmd, arg_identity); + strcat(cmd, "\""); + ECHO("\n%s\n", cmd); + system(cmd); + + //std::wstring jarPath = charToWString(arg_jarpath); + //std::wstring rev_uids_str = charToWString(rev_uids); + //std::wstring puids_str = charToWString(puids); + //std::wstring tcstatus_str = charToWString(arg_tcstatus); + //std::wstring compyname_str = charToWString(arg_compyname); + //std::wstring identity_str = charToWString(arg_identity); + + //startJavaJarInNewProcess(jarPath, rev_uids_str, puids_str, tcstatus_str, compyname_str, identity_str); + + ECHO("==================caxaͼֽӳ估תPDF END=======================\n"); + return ifail; +} + +//int PX_CaxaToPDF2(EPM_action_message_t msg) +//{ +// ECHO("==================caxaͼֽӳ估תPDF START=======================\n"); +// printf("Ȩ\n"); +// POM_AM__set_application_bypass(true); +// map type_map;//ļƶӦеitem +// +// int ifail = ITK_ok, +// att_cnt = 0; +// +// tag_t task_tag = NULLTAG, +// root_task_tag = NULLTAG, +// * attachments = NULL; +// +// char arg_type[1024] = ""; +// char arg_caxatype[1024] = ""; +// char arg_tcstatus[1024] = ""; +// char arg_jarpath[1024] = ""; +// char arg_compyname[1024] = ""; +// char arg_identity[1024] = ""; +// char* argflag = NULL, * argvalue = NULL, * arg = NULL; +// int arg_cnt = 0; +// +// arg_cnt = TC_number_of_arguments(msg.arguments); +// ECHO("Ϊ%d\n", arg_cnt); +// if (arg_cnt > 0) +// { +// for (int i = 0; i < arg_cnt; i++) +// { +// //ȡһ0ʼ +// arg = TC_next_argument(msg.arguments); +// //ȡƺֵ +// ITK_ask_argument_named_value((const char*)arg, &argflag, &argvalue); +// if (stricmp(argflag, "type") == 0) //汾 +// { +// //strcmp("",""); +// if (argvalue != NULL) +// { +// strcpy(arg_type, argvalue); +// } +// } +// if (stricmp(argflag, "caxatype") == 0) //caxaݼ +// { +// //strcmp("",""); +// if (argvalue != NULL) +// { +// strcpy(arg_caxatype, argvalue); +// } +// } +// if (stricmp(argflag, "tcstatus") == 0) //״̬ +// { +// //strcmp("",""); +// if (argvalue != NULL) +// { +// strcpy(arg_tcstatus, argvalue); +// } +// } +// if (stricmp(argflag, "jarpath") == 0) //ܰ· +// { +// //strcmp("",""); +// if (argvalue != NULL) +// { +// strcpy(arg_jarpath, argvalue); +// } +// } +// if (stricmp(argflag, "compyname") == 0) //ܰ· +// { +// //strcmp("",""); +// if (argvalue != NULL) +// { +// strcpy(arg_compyname, argvalue); +// } +// } +// if (stricmp(argflag, "identity") == 0) //תͼʶ +// { +// //strcmp("",""); +// if (argvalue != NULL) +// { +// strcpy(arg_identity, argvalue); +// } +// } +// } +// ECHO("type%s\n", arg_type); +// ECHO("caxatype%s\n", arg_caxatype); +// ECHO("tcstatus%s\n", arg_tcstatus); +// ECHO("jarpath%s\n", arg_jarpath); +// ECHO("compyname%s\n", arg_compyname); +// ECHO("identity%s\n", arg_identity); +// MEM_free(argflag); +// MEM_free(argvalue); +// } +// task_tag = msg.task; +// EPM_ask_root_task(task_tag, &root_task_tag); +// EPM_ask_attachments(root_task_tag, EPM_target_attachment, &att_cnt, &attachments); +// char rev_uids[10240] = "\0"; +// char puids[10240] = "\0"; +// int current_len = 0; +// for (int i = 0; i < att_cnt; i++) { +// tag_t *spec; +// char* object_type, * spec_type; +// int spec_num; +// AOM_ask_value_string(attachments[i],"object_type", &object_type); +// ECHO("汾ͣ%s\n", object_type); +// if (strstr(arg_type, object_type) != NULL) { +// AOM_ask_value_tags(attachments[i], "IMAN_specification", &spec_num, &spec); +// char* rev_uid; +// POM_tag_to_uid(attachments[i], &rev_uid); +// ECHO("IMAN_specification num%d\n", spec_num); +// +// for (int j = 0; j < spec_num; j++) { +// boolean has_dataset = false; +// AOM_ask_value_string(spec[j], "object_type", &spec_type); +// ECHO("淶ͣ%s\n", spec_type); +// if (strstr(arg_caxatype, spec_type)!= NULL) +// { +// +// has_dataset = true; +// ECHO("\n"); +// char* dataset_name; +// ITKCALL(AOM_ask_value_string(spec[j], "object_name", &dataset_name)); +// //ʼȡcaxaͼֽ +// tag_t ref_object = NULLTAG; +// AE_reference_type_t reference_type; +// char ref_name[WSO_name_size_c + 1] = "U2_EXB"; +// AE_ask_dataset_named_ref(spec[j], ref_name, &reference_type, &ref_object); +// if (reference_type == AE_PART_OF) +// { +// char pathname[SS_MAXPATHLEN] = ""; +// IMF_ask_file_pathname(ref_object, SS_WNT_MACHINE, pathname); +// char origin_file_name[SS_MAXPATHLEN] = ""; +// IMF_ask_original_file_name(ref_object, origin_file_name); +// char new_ds_name[WSO_name_size_c + 1] = ""; +// char* new_file_name = USER_new_file_name(new_ds_name, ref_name, "exb", 0); +// char* temp_dir = getenv("temp"); +// char temp_file[SS_MAXPATHLEN] = ""; +// strcpy(temp_file, temp_dir); +// strcat(temp_file, "\\"); +// strcat(temp_file, new_file_name); +// IMF_export_file(ref_object, temp_file); +// //D̵CAXATOPDFFILEļдһʱļУתpdfļ +// std::string parentPath = "D:\\CAXATOPDFFILE"; +// std::string timestamp = getCurrentTimestamp(); +// +// if (createTimestampDirectory(parentPath, timestamp)) { +// std::cout << "Successfully created directory: " << parentPath << "\\" << timestamp << std::endl; +// string pdfFolderPath = parentPath + "\\" + timestamp; +// //ɹjarִתpdfIJ +// char cmd[20480] = ""; +// strcpy(cmd, "java -jar "); +// strcat(cmd, arg_jarpath); +// strcat(cmd, " \""); +// strcat(cmd, temp_file); +// strcat(cmd, "\""); +// strcat(cmd, " \""); +// strcat(cmd, pdfFolderPath.c_str()); +// strcat(cmd, "\""); +// printf("cmd:%s\n",cmd); +// system(cmd); +// //ʼpdfļ +// char newName[2048] = ""; +// strcat(newName, dataset_name); +// //ļַ +// char newtemp_file[SS_MAXPATHLEN] = ""; +// strcpy(newtemp_file, pdfFolderPath.c_str()); +// strcat(newtemp_file, "\\"); +// strcat(newtemp_file, removeFileExtension(new_file_name).c_str()); +// strcat(newtemp_file, ".pdf"); +// printf("µļ·Ϊ%s:",newtemp_file); +// +// //ݼļ +// tag_t* word_tags = NULLTAG; +// int word_num = NULL; +// ITKCALL(AOM_ask_value_tags(attachments[i], "IMAN_specification", &word_num, &word_tags)); +// tag_t pdf = NULLTAG; +// for (int n = 0; n < word_num; n++) { +// char* type = ""; +// char* pdfname = ""; +// ITKCALL(AOM_ask_value_string(word_tags[n], "object_type", &type)); +// string newtype = Utf8ToGbk(type); +// type = (char*)newtype.data(); +// printf("typeֵΪ%s:",type); +// +// ITKCALL(AOM_ask_value_string(word_tags[n], "object_name", &pdfname)); +// char* name1 = NULL; +// char* name2 = NULL; +// name1 = remove_suffix(pdfname); +// name2 = remove_suffix(newName); +// if (strcmp(type, "PDF") == 0 && strcmp(name1, name2) == 0) { +// pdf = word_tags[n]; +// break; +// } +// } +// if (pdf == NULLTAG) { +// int rfCount; +// tag_t pdfTypeTag = NULLTAG, tool = NULLTAG, relationTag, * rfTags, newrelation; +// +// ITKCALL(AE_find_datasettype("PDF", &pdfTypeTag)); +// ITKCALL(AE_create_dataset_with_id(pdfTypeTag, newName, "", "", "A", &pdf)); +// ITKCALL(AE_ask_datasettype_def_tool(pdfTypeTag, &tool)); +// ITKCALL(AE_set_dataset_tool(pdf, tool)); +// ITKCALL(AE_set_dataset_format(pdf, "PDF_Reference")); +// ITKCALL(AOM_save(pdf)); +// if (pdf == NULLTAG) { +// +// printf("ʧ\n"); +// } +// else { +// printf("ɹ\n"); +// ITKCALL(GRM_find_relation_type("IMAN_specification", &relationTag)); +// if (relationTag == NULLTAG) { +// +// printf("1111111111111111111111111111111"); +// } +// ITKCALL(GRM_list_secondary_objects_only(attachments[i], relationTag, &rfCount, &rfTags)); +// ITKCALL(GRM_create_relation(attachments[i], pdf, relationTag, NULLTAG, &newrelation)); +// ITKCALL(GRM_save_relation(newrelation)); +// ITKCALL(AOM_unload(attachments[i])); +// ITKCALL(AOM_refresh(attachments[i], true)); +// } +// } +// if (pdf != NULL) { +// +// printf("ѾPDFݼʼд %s\n", dataset_name); +// ITKCALL(import_dataset_file_binary(pdf, "/tmp/", "PDF_Reference", "pdf", newtemp_file, strcat(newName, ".pdf"))); +// } +// +// } else { +// std::cerr << "Failed to create directories." << std::endl; +// } +// } +// +// } +// } +// //תͼʶ +// vector ans; +// Split(arg_identity,";",ans); +// AOM_lock(attachments[i]); +// AOM_set_value_string(attachments[i],ans[0].c_str(), ans[1].c_str()); +// AOM_save(attachments[i]); +// AOM_unlock(attachments[i]); +// } +// +// } +// printf("رճȨ\n"); +// POM_AM__set_application_bypass(true); +// ECHO("==================caxaͼֽӳ估תPDF END=======================\n"); +// return ifail; +//} diff --git a/T5Sign_ITK/PX_Save_AfterOperation.cpp b/T5Sign_ITK/PX_Save_AfterOperation.cpp new file mode 100644 index 0000000..98800b9 --- /dev/null +++ b/T5Sign_ITK/PX_Save_AfterOperation.cpp @@ -0,0 +1,440 @@ +/*============================================================================= + Copyright (C) 2011 ORIGIN Corporation + Unpublished - All Rights Reserved +=============================================================================== +File description: + + Filename: PX_Save_AfterOperation.cxx + Module : user_exits + + Test function +=============================================================================== +DATE Name Description of Change +15-4-2025 hcj +$HISTORY$ +===============================================================================*/ + +#include "epm_handler_common.h" +#include "common_itk_util.h" +#include +#include +#include "stdafx.h" +#include "ae/dataset.h" +#include "sa/sa.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "error_handling.h" +#include "string_utils.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define ITK_err 919012 + +vector modId; + +/* + ж϶objtagǷtype_name +*/ +bool isTypeOf(tag_t objtag, const char * type_name) { + tag_t type = NULLTAG; + TCTYPE_ask_object_type(objtag, &type); + tag_t item_type = NULLTAG; + TCTYPE_find_type(type_name, "", &item_type); + bool is_type = false; + if (item_type != NULLTAG) { + logical isok = FALSE; + TCTYPE_is_type_of(type, item_type, &isok); + if (isok) { + is_type = true; + } + } + return is_type; +} + +int PX_Create_AfterOperation( METHOD_message_t* msg, va_list args ) +{ + printf("========================= Start===================\n"); + int ifail = ITK_ok;tag_t new_rev; + tag_t item = va_arg(args, tag_t); + char* Id; + AOM_ask_value_string(item, "item_id", &Id); + modId.push_back(Id); + ITEM_ask_latest_rev(item,&new_rev); + //ȡѡ + int count = 0;char** refers; + ITKCALL(PREF_ask_char_values("PX_Check_Item", &count, &refers)); + if(count == 0){ + EMH_store_error_s2(EMH_severity_error, + ITK_err, + "ʾ", + "ѡPX_Check_Item!"); + modId.clear(); + AOM_delete(item); + return 1; + } + for(int i = 0; i < count; i++){ + printf("ʼУ%s\n",refers[i]); + //ȡ + char* type; + AOM_ask_value_string(new_rev, "object_type", &type); + printf("ȡ%s\n",type); + //ָѡ + printf("ʼָѡ\n"); + vector ans; + Split(refers[i],"=",ans); + printf("ѡָ%d\n",ans.size()); + if(ans.size() != 5){ + EMH_store_error_s2(EMH_severity_error, + ITK_err, + "ʾ", + "ѡPX_Check_Item!"); + modId.clear(); + AOM_delete(item); + return 1; + } + if (strcmp(type, ans[0].c_str()) == 0) { + printf("ƥɹ\n"); + // ַָ + printf("ַָ\n"); + std::vector pops; + Split(ans[1].c_str(), ",", pops); + + // ȡ + + int array_size = pops.size(); + printf("ȡ%d\n",array_size); + // ̬ڴԴ洢ֵ + printf("̬ڴԴ洢ֵ\n"); + char** str_array = new char*[array_size]; + + // ѭȡÿֵ + printf("ѭȡÿֵ\n"); + for (int j = 0; j < array_size; ++j) { + char* prop = nullptr; + + // AOM_ask_value_string ȡֵ + int status = AOM_ask_value_string(new_rev, pops[j].c_str(), &prop); + printf("ֵ=%s\n",prop); + if (status == 0 && prop != nullptr) { + // ɹȡֵƵ str_array + str_array[j] = new char[strlen(prop) + 1]; + strcpy(str_array[j], prop); + + //ͷ + MEM_free(prop); + //delete[] prop; + } else { + // ȡʧܣֵΪַ + printf("%sȡʧ\n", pops[j].c_str()); + str_array[j] = new char[1]; + strcpy(str_array[j], ""); + } + } + + + //ȡѯ + printf("ȡѯ%s\n",ans[2].c_str()); + tag_t query; + ITKCALL(ifail = QRY_find(ans[2].c_str(), &query)); + + + //ȡѯĿ + printf("ȡѯĿ%s\n",ans[3].c_str()); + // ַָ + std::vector popNames; + Split(ans[3].c_str(), ",", popNames); + + // ȡ + int arrayName_size = popNames.size(); + + // ̬ڴԴ洢ֵ + char** strName_array = new char*[arrayName_size]; + + // ѭȡÿֵ + for (int j = 0; j < arrayName_size; ++j) { + strName_array[j] = new char[popNames[j].size() + 1]; + strncpy(strName_array[j], popNames[j].c_str(), popNames[j].size() + 1); + strName_array[j][popNames[j].size()] = '\0'; // ȷַ '\0' β + } + + // ӡ + for (int j = 0; j < arrayName_size; ++j) { + printf("ѯĿ=%s\n",strName_array[j]); + } + + //УѯԺͲѯĿǷһ + if(pops.size() != popNames.size()){ + EMH_store_error_s2(EMH_severity_error, + ITK_err, + "ʾ", + "ѡPX_Check_Item!"); + modId.clear(); + AOM_delete(item); + return 1; + } + + //ִвѯ + int n_found; + + tag_t* tags; + boolean saveFlag = true; + ITKCALL(ifail = QRY_execute(query, pops.size(), strName_array,str_array, &n_found, &tags)); + if (n_found > 0) { + string ids = ""; + std::unordered_set uniqueIds; // ڴ洢Ψһ itemId + + for (int i = 0; i < n_found; i++) { + char* itemId; + AOM_ask_value_string(tags[i], "item_id", &itemId); + + // itemId ѾڼУ + if (uniqueIds.find(itemId) != uniqueIds.end()) { + continue; + } + + // ǰ itemId Id ͬ + if (strcmp(Id, itemId) == 0) { + continue; + } + + printf("ѯitemId==> %s\n", itemId); + + // itemId ӵϺַ + uniqueIds.insert(itemId); + ids += itemId; + ids += ";"; + + ifail = 1; + saveFlag = false; + } + + // ǷҪϢ + if (!saveFlag) { + AOM_delete(item); + string error = "Ѵͬ" + ans[4] + "Ķ: " + ids + "!"; + EMH_store_error_s2(EMH_severity_error, + ITK_err, + "ʾ", + error.c_str()); + modId.clear(); + } + + } + break; + } + } + va_end(args); + return ifail; +} + +int PX_Save_AfterOperation( METHOD_message_t* msg, va_list args ) +{ + int ifail = ITK_ok; + tag_t new_rev = va_arg(args, tag_t); + char* Id; + AOM_ask_value_string(new_rev, "item_id", &Id); + if(modId.size() > 0 && strcmp(modId[0],Id) == 0){ + modId.clear(); + return ifail; + } + printf("=========================ǰ Start===================\n"); + //ȡѡ + int count = 0;char** refers; + ITKCALL(PREF_ask_char_values("PX_Check_Item", &count, &refers)); + if(count == 0){ + EMH_store_error_s2(EMH_severity_error, + ITK_err, + "ʾ", + "ѡPX_Check_Item!"); + return 1; + } + for(int i = 0; i < count; i++){ + printf("ʼУ%s\n",refers[i]); + //ȡ + char* type; + AOM_ask_value_string(new_rev, "object_type", &type); + printf("ȡ%s\n",type); + //ָѡ + printf("ʼָѡ\n"); + vector ans; + Split(refers[i],"=",ans); + printf("ѡָ%d\n",ans.size()); + if(ans.size() != 5){ + EMH_store_error_s2(EMH_severity_error, + ITK_err, + "ʾ", + "ѡPX_Check_Item!"); + return 1; + } + if (strcmp(type, ans[0].c_str()) == 0) { + printf("ƥɹ\n"); + // ַָ + printf("ַָ\n"); + std::vector pops; + Split(ans[1].c_str(), ",", pops); + + // ȡ + + int array_size = pops.size(); + printf("ȡ%d\n",array_size); + // ̬ڴԴ洢ֵ + printf("̬ڴԴ洢ֵ\n"); + char** str_array = new char*[array_size]; + + // ѭȡÿֵ + printf("ѭȡÿֵ\n"); + for (int j = 0; j < array_size; ++j) { + char* prop = nullptr; + + // AOM_ask_value_string ȡֵ + int status = AOM_ask_value_string(new_rev, pops[j].c_str(), &prop); + printf("ֵ=%s\n",prop); + if (status == 0 && prop != nullptr) { + // ɹȡֵƵ str_array + str_array[j] = new char[strlen(prop) + 1]; + strcpy(str_array[j], prop); + + //ͷ + MEM_free(prop); + //delete[] prop; + } else { + // ȡʧܣֵΪַ + printf("%sȡʧ\n", pops[j].c_str()); + str_array[j] = new char[1]; + strcpy(str_array[j], ""); + } + } + + + //ȡѯ + printf("ȡѯ%s\n",ans[2].c_str()); + tag_t query; + ITKCALL(ifail = QRY_find(ans[2].c_str(), &query)); + + + //ȡѯĿ + printf("ȡѯĿ%s\n",ans[3].c_str()); + // ַָ + std::vector popNames; + Split(ans[3].c_str(), ",", popNames); + + // ȡ + int arrayName_size = popNames.size(); + + // ̬ڴԴ洢ֵ + char** strName_array = new char*[arrayName_size]; + + // ѭȡÿֵ + for (int j = 0; j < arrayName_size; ++j) { + strName_array[j] = new char[popNames[j].size() + 1]; + strncpy(strName_array[j], popNames[j].c_str(), popNames[j].size() + 1); + strName_array[j][popNames[j].size()] = '\0'; // ȷַ '\0' β + } + + // ӡ + for (int j = 0; j < arrayName_size; ++j) { + printf("ѯĿ=%s\n",strName_array[j]); + } + + //УѯԺͲѯĿǷһ + if(pops.size() != popNames.size()){ + EMH_store_error_s2(EMH_severity_error, + ITK_err, + "ʾ", + "ѡPX_Check_Item!"); + return 1; + } + + //ִвѯ + int n_found; + + tag_t* tags; + boolean saveFlag = true; + ITKCALL(ifail = QRY_execute(query, pops.size(), strName_array,str_array, &n_found, &tags)); + if (n_found > 0) { + string ids = ""; + std::unordered_set uniqueIds; // ڴ洢Ψһ itemId + + for (int i = 0; i < n_found; i++) { + char* itemId; + AOM_ask_value_string(tags[i], "item_id", &itemId); + + // itemId ѾڼУ + if (uniqueIds.find(itemId) != uniqueIds.end()) { + continue; + } + + // ǰ itemId Id ͬ + if (strcmp(Id, itemId) == 0) { + continue; + } + + printf("ѯitemId==> %s\n", itemId); + + // itemId ӵϺַ + uniqueIds.insert(itemId); + ids += itemId; + ids += ";"; + + ifail = 1; + saveFlag = false; + } + + // ǷҪϢ + if (!saveFlag) { + string error = "Ѵͬ" + ans[4] + "Ķ: " + ids + "!"; + EMH_store_error_s2(EMH_severity_error, + ITK_err, + "ʾ", + error.c_str()); + modId.clear(); + } + + } + break; + } + } + va_end(args); + return ifail; +} \ No newline at end of file diff --git a/T5Sign_ITK/ReadMe.txt b/T5Sign_ITK/ReadMe.txt new file mode 100644 index 0000000..b5d44fa --- /dev/null +++ b/T5Sign_ITK/ReadMe.txt @@ -0,0 +1,45 @@ +======================================================================== +WIN32 ӦóT5Sign_ITK Ŀ +======================================================================== + +ӦóΪ˴ T5Sign_ITK Ӧó + +ļҪ T5Sign_ITK Ӧóÿļݡ + + +T5Sign_ITK.vcproj +ʹӦóɵ VC++ ĿĿļ +ɸļ Visual C++ İ汾ϢԼйʹӦóѡƽ̨úĿܵϢ + +T5Sign_ITK.cpp +ӦóԴļ + +///////////////////////////////////////////////////////////////////////////// +Ӧó򵼴Դ + +T5Sign_ITK.rc +dzʹõ Microsoft Windows Դб RES Ŀ¼д洢ͼꡢλͼ͹ꡣļֱ Microsoft Visual C++ нб༭ + +Resource.h +DZ׼ͷļµԴ ID +Microsoft Visual C++ ȡ´ļ + +T5Sign_ITK.ico +Ӧóͼ (32x32) ͼļ +ͼԴļ T5Sign_ITK.rc С + +small.ico +һͼļаӦóͼĽС汾 (16x16)ͼԴļ T5Sign_ITK.rc С + +///////////////////////////////////////////////////////////////////////////// +׼ļ + +StdAfx.h, StdAfx.cpp +ЩļΪ T5Sign_ITK.pch Ԥͷ (PCH) ļΪ StdAfx.obj Ԥļ + +///////////////////////////////////////////////////////////////////////////// +עͣ + +ӦóʹáTODO:ָʾӦӻԶԴ벿֡ + +///////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/T5Sign_ITK/Release/BuildLog.htm b/T5Sign_ITK/Release/BuildLog.htm new file mode 100644 index 0000000..23a3085 Binary files /dev/null and b/T5Sign_ITK/Release/BuildLog.htm differ diff --git a/T5Sign_ITK/Release/CL.read.1.tlog b/T5Sign_ITK/Release/CL.read.1.tlog new file mode 100644 index 0000000..76a9cd1 Binary files /dev/null and b/T5Sign_ITK/Release/CL.read.1.tlog differ diff --git a/T5Sign_ITK/Release/CL.write.1.tlog b/T5Sign_ITK/Release/CL.write.1.tlog new file mode 100644 index 0000000..6a3c3c8 Binary files /dev/null and b/T5Sign_ITK/Release/CL.write.1.tlog differ diff --git a/T5Sign_ITK/Release/HS_pdf_signoff.obj b/T5Sign_ITK/Release/HS_pdf_signoff.obj new file mode 100644 index 0000000..a4bd362 Binary files /dev/null and b/T5Sign_ITK/Release/HS_pdf_signoff.obj differ diff --git a/T5Sign_ITK/Release/HS_set_signoff.obj b/T5Sign_ITK/Release/HS_set_signoff.obj new file mode 100644 index 0000000..910e862 Binary files /dev/null and b/T5Sign_ITK/Release/HS_set_signoff.obj differ diff --git a/T5Sign_ITK/Release/PX_CaxaToPDF.obj b/T5Sign_ITK/Release/PX_CaxaToPDF.obj new file mode 100644 index 0000000..d207873 Binary files /dev/null and b/T5Sign_ITK/Release/PX_CaxaToPDF.obj differ diff --git a/T5Sign_ITK/Release/PX_Save_AfterOperation.obj b/T5Sign_ITK/Release/PX_Save_AfterOperation.obj new file mode 100644 index 0000000..b6de029 Binary files /dev/null and b/T5Sign_ITK/Release/PX_Save_AfterOperation.obj differ diff --git a/T5Sign_ITK/Release/T5Sign_ITK.Build.CppClean.log b/T5Sign_ITK/Release/T5Sign_ITK.Build.CppClean.log new file mode 100644 index 0000000..08dd6d1 --- /dev/null +++ b/T5Sign_ITK/Release/T5Sign_ITK.Build.CppClean.log @@ -0,0 +1,61 @@ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\T5SIGN_ITK.PCH +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\STDAFX.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\VC110.PDB +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\SPACE_NODE.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\ERP_UTILS.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\EPM_SIGNOFF_DATASET.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\EPM_SIGN_REV.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\EPM_REGISTER_HANDLER.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\CONNOR_UTIL.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\CLEAR_FORM_PROP.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\STRING_UTILS.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\STRING_HELPER.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\LIB_CUSTOM_MAIN.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\T5SIGN_ITK.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\PX_SAVE_AFTEROPERATION.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\PX_CAXATOPDF.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\HS_SET_SIGNOFF.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\HS_PDF_SIGNOFF.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\COMMON_ITK_UTIL.OBJ +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\RELEASE\T5SIGN_ITK.DLL +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\RELEASE\T5SIGN_ITK.PDB +Z:\D-3\PROJECT\蓬翔\ITK\64位\T5SIGN_ITK\T5SIGN_ITK\RELEASE\T5SIGN_ITK.RES +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.lib +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.exp +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\clear_form_prop.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\common_itk_util.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\connor_util.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\epm_register_handler.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\epm_signoff_dataset.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\epm_sign_rev.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\erp_utils.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\HS_pdf_signoff.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\HS_set_signoff.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\lib_custom_main.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\PX_CaxaToPDF.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\PX_Save_AfterOperation.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\space_node.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\stdafx.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\string_helper.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\string_utils.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\T5Sign_ITK.obj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\cl.command.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\CL.read.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\CL.write.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\link-cvtres.read.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\link-cvtres.write.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\link-rc.read.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\link-rc.write.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\link.command.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\link.read.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\link.read.2.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\link.write.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\rc.command.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\rc.read.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\rc.write.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\T5Sign_ITK.write.1.tlog +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\T5Sign_ITK.res +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\T5Sign_ITK.pch +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\Release\vc110.pdb +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.pdb +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.dll diff --git a/T5Sign_ITK/Release/T5Sign_ITK.lastbuildstate b/T5Sign_ITK/Release/T5Sign_ITK.lastbuildstate new file mode 100644 index 0000000..d0f577f --- /dev/null +++ b/T5Sign_ITK/Release/T5Sign_ITK.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v110:false +Release|Win32|Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\| diff --git a/T5Sign_ITK/Release/T5Sign_ITK.log b/T5Sign_ITK/Release/T5Sign_ITK.log new file mode 100644 index 0000000..ad5acdf --- /dev/null +++ b/T5Sign_ITK/Release/T5Sign_ITK.log @@ -0,0 +1,392 @@ +生成启动时间为 2025/4/17 11:47:54。 + 1>项目“Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\T5Sign_ITK.vcxproj”在节点 2 上(Rebuild 个目标)。 + 1>ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /IC:\Siemens\Teamcenter8\include /IC:\Siemens\Teamcenter8\include_cpp /Zi /nologo /W3 /WX- /O2 /Oy- /GL /D WIN32 /D NDEBUG /D _WINDOWS /D IPLIB=none /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"stdafx.h" /Fp"Release\T5Sign_ITK.pch" /Fo"Release\\" /Fd"Release\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt stdafx.cpp + stdafx.cpp + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /IC:\Siemens\Teamcenter8\include /IC:\Siemens\Teamcenter8\include_cpp /Zi /nologo /W3 /WX- /O2 /Oy- /GL /D WIN32 /D NDEBUG /D _WINDOWS /D IPLIB=none /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\" /Fd"Release\vc110.pdb" /Gd /TP /analyze- /errorReport:prompt HS_pdf_signoff.cpp HS_set_signoff.cpp PX_CaxaToPDF.cpp PX_Save_AfterOperation.cpp T5Sign_ITK.cpp lib_custom_main.cpp string_helper.cpp string_utils.cxx clear_form_prop.cpp connor_util.cpp epm_register_handler.cpp epm_sign_rev.cxx epm_signoff_dataset.cxx erp_utils.cxx space_node.cpp + HS_pdf_signoff.cpp + 1>C:\Siemens\Teamcenter8\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>HS_pdf_signoff.cpp(437): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(438): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(444): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(445): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(451): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(452): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(454): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(455): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(457): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(458): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(461): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(463): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(465): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(467): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(470): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(477): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(477): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_pdf_signoff.cpp(478): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(479): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(480): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(218) : 参见“fopen”的声明 + 1>HS_pdf_signoff.cpp(507): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_pdf_signoff.cpp(511): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(512): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(513): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(517): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(357) : 参见“sprintf”的声明 + 1>HS_pdf_signoff.cpp(520): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(357) : 参见“sprintf”的声明 + 1>HS_pdf_signoff.cpp(525): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_pdf_signoff.cpp(526): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(527): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(528): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(529): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(530): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(531): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(532): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(533): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(534): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(535): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(380): warning C4101: “desc_path”: 未引用的局部变量 + HS_set_signoff.cpp + 1>C:\Siemens\Teamcenter8\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>HS_set_signoff.cpp(189): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(238): warning C4018: “<”: 有符号/无符号不匹配 + 1>HS_set_signoff.cpp(243): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(244): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(250): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(251): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(257): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(258): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(260): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(261): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(263): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(264): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(272): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(275): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(278): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(281): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(286): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(293): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(293): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_set_signoff.cpp(294): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(295): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(296): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(218) : 参见“fopen”的声明 + 1>HS_set_signoff.cpp(321): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(322): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(333): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(334): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(347): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(348): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(361): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(362): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(377): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_set_signoff.cpp(385): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\time.inl(112) : 参见“localtime”的声明 + 1>HS_set_signoff.cpp(386): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(357) : 参见“sprintf”的声明 + 1>HS_set_signoff.cpp(387): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(408): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(413): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(425): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(427): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(429): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(431): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(433): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(435): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(437): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(439): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(457): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(458): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(459): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(460): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(461): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + PX_CaxaToPDF.cpp + 1>C:\Siemens\Teamcenter8\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>PX_CaxaToPDF.cpp(168): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\time.inl(112) : 参见“localtime”的声明 + 1>PX_CaxaToPDF.cpp(267): warning C4996: 'mbstowcs': This function or variable may be unsafe. Consider using mbstowcs_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(515) : 参见“mbstowcs”的声明 + 1>PX_CaxaToPDF.cpp(302): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(307): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(310): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(315): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(318): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(323): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(326): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(331): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(334): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(339): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(392): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(400): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(406): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(407): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(411): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(423): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(427): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(428): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(450): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(451): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(452): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(453): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(454): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(455): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(456): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(457): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(458): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(459): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(460): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(461): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(462): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(463): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(464): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(465): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(466): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + PX_Save_AfterOperation.cpp + 1>C:\Siemens\Teamcenter8\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>PX_Save_AfterOperation.cpp(162): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_Save_AfterOperation.cpp(171): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_Save_AfterOperation.cpp(197): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(191) : 参见“strncpy”的声明 + 1>PX_Save_AfterOperation.cpp(336): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_Save_AfterOperation.cpp(345): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_Save_AfterOperation.cpp(371): warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(191) : 参见“strncpy”的声明 + T5Sign_ITK.cpp + lib_custom_main.cpp + string_helper.cpp + string_utils.cxx + 1>C:\Siemens\Teamcenter8\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + clear_form_prop.cpp + 1>C:\Siemens\Teamcenter8\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>clear_form_prop.cpp(75): warning C4101: “DataSetType”: 未引用的局部变量 + connor_util.cpp + 1>C:\Siemens\Teamcenter8\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + epm_register_handler.cpp + 1>epm_register_handler.cpp(55): warning C4018: “<”: 有符号/无符号不匹配 + 1>epm_register_handler.cpp(69): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(218) : 参见“fopen”的声明 + 1>epm_register_handler.cpp(85): warning C4172: 返回局部变量或临时变量的地址 + 1>epm_register_handler.cpp(65): warning C4101: “str”: 未引用的局部变量 + 1>epm_register_handler.cpp(103): warning C4101: “p”: 未引用的局部变量 + 1>epm_register_handler.cpp(101): warning C4101: “expire_date”: 未引用的局部变量 + 1>epm_register_handler.cpp(101): warning C4101: “env”: 未引用的局部变量 + 1>epm_register_handler.cpp(101): warning C4101: “date_buf”: 未引用的局部变量 + 1>epm_register_handler.cpp(102): warning C4101: “now”: 未引用的局部变量 + 1>epm_register_handler.cpp(101): warning C4101: “temp1”: 未引用的局部变量 + 1>epm_register_handler.cpp(101): warning C4101: “temp2”: 未引用的局部变量 + 1>epm_register_handler.cpp(105): warning C4101: “mth_tag”: 未引用的局部变量 + epm_sign_rev.cxx + 1>epm_sign_rev.cxx(202): warning C4129: “c”: 不可识别的字符转义序列 + 1>epm_sign_rev.cxx(119): warning C4101: “userName”: 未引用的局部变量 + 1>epm_sign_rev.cxx(187): warning C4101: “is_valid”: 未引用的局部变量 + 1>epm_sign_rev.cxx(708): warning C4102: “end_handler”: 未引用的标签 + epm_signoff_dataset.cxx + 1>epm_signoff_dataset.cxx(148): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(148): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(147): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(182): warning C4101: “new_file_name”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(180): warning C4101: “file_descriptor”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(338): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(338): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(337): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(423): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(423): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(422): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(510): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(510): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(509): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(597): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(597): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(596): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(735): warning C4018: “<”: 有符号/无符号不匹配 + 1>epm_signoff_dataset.cxx(699): warning C4101: “aUserTag”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(701): warning C4101: “decision_date”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(700): warning C4101: “userName”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(699): warning C4101: “responsibleParty”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(924): warning C4101: “desc_path”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(1226): warning C4800: “BOOL”: 将值强制为布尔值“true”或“false”(性能警告) + erp_utils.cxx + space_node.cpp + 1>C:\Siemens\Teamcenter8\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>C:\Siemens\Teamcenter8\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\CL.exe /c /IC:\Siemens\Teamcenter8\include /IC:\Siemens\Teamcenter8\include_cpp /Zi /nologo /W3 /WX- /O2 /Oy- /GL /D WIN32 /D NDEBUG /D _WINDOWS /D IPLIB=none /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"Release\\" /Fd"Release\vc110.pdb" /Gd /TC /analyze- /errorReport:prompt common_itk_util.c + common_itk_util.c + 1>common_itk_util.c(91): warning C4013: “AM__set_application_bypass”未定义;假设外部返回 int + ResourceCompile: + C:\Program Files (x86)\Windows Kits\8.0\bin\x86\rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"Release\T5Sign_ITK.res" T5Sign_ITK.rc + Link: + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_itk.dll" /INCREMENTAL:NO /NOLOGO "C:\Siemens\Teamcenter8\lib\*.lib" kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /NODEFAULTLIB:libuser_exits.ar.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.pdb" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.lib" /MACHINE:X86 /SAFESEH /DLL Release\T5Sign_ITK.res + Release\HS_pdf_signoff.obj + Release\HS_set_signoff.obj + Release\PX_CaxaToPDF.obj + Release\PX_Save_AfterOperation.obj + Release\stdafx.obj + Release\T5Sign_ITK.obj + Release\common_itk_util.obj + Release\lib_custom_main.obj + Release\string_helper.obj + Release\string_utils.obj + Release\clear_form_prop.obj + Release\connor_util.obj + Release\epm_register_handler.obj + Release\epm_sign_rev.obj + Release\epm_signoff_dataset.obj + Release\erp_utils.obj + Release\space_node.obj + 正在创建库 Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.lib 和对象 Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.exp + 正在生成代码 + 1>z:\d-3\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_sign_rev.cxx(200): warning C4700: 使用了未初始化的局部变量“comments” + 1>z:\d-3\project\蓬翔\itk\64位\t5sign_itk\t5sign_itk\epm_sign_rev.cxx(471): warning C4700: 使用了未初始化的局部变量“person_name” + 已完成代码的生成 + T5Sign_ITK.vcxproj -> Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.dll + 1>已完成生成项目“Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\T5Sign_ITK.vcxproj”(Rebuild 个目标)的操作。 + +生成成功。 + +已用时间 00:00:18.90 diff --git a/T5Sign_ITK/Release/T5Sign_ITK.obj b/T5Sign_ITK/Release/T5Sign_ITK.obj new file mode 100644 index 0000000..2cbbe87 Binary files /dev/null and b/T5Sign_ITK/Release/T5Sign_ITK.obj differ diff --git a/T5Sign_ITK/Release/T5Sign_ITK.pch b/T5Sign_ITK/Release/T5Sign_ITK.pch new file mode 100644 index 0000000..6e336a7 Binary files /dev/null and b/T5Sign_ITK/Release/T5Sign_ITK.pch differ diff --git a/T5Sign_ITK/Release/T5Sign_ITK.res b/T5Sign_ITK/Release/T5Sign_ITK.res new file mode 100644 index 0000000..fd17d6c Binary files /dev/null and b/T5Sign_ITK/Release/T5Sign_ITK.res differ diff --git a/T5Sign_ITK/Release/T5Sign_ITK.write.1.tlog b/T5Sign_ITK/Release/T5Sign_ITK.write.1.tlog new file mode 100644 index 0000000..a4e7ea0 --- /dev/null +++ b/T5Sign_ITK/Release/T5Sign_ITK.write.1.tlog @@ -0,0 +1,5 @@ +^Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\T5Sign_ITK.vcxproj +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.lib +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.lib +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.exp +Z:\D-3\Project\蓬翔\ITK\64位\T5Sign_ITK\Release\T5Sign_ITK.exp diff --git a/T5Sign_ITK/Release/cl.command.1.tlog b/T5Sign_ITK/Release/cl.command.1.tlog new file mode 100644 index 0000000..770274e Binary files /dev/null and b/T5Sign_ITK/Release/cl.command.1.tlog differ diff --git a/T5Sign_ITK/Release/clear_form_prop.obj b/T5Sign_ITK/Release/clear_form_prop.obj new file mode 100644 index 0000000..e8a332d Binary files /dev/null and b/T5Sign_ITK/Release/clear_form_prop.obj differ diff --git a/T5Sign_ITK/Release/common_itk_util.obj b/T5Sign_ITK/Release/common_itk_util.obj new file mode 100644 index 0000000..c42a5c5 Binary files /dev/null and b/T5Sign_ITK/Release/common_itk_util.obj differ diff --git a/T5Sign_ITK/Release/connor_util.obj b/T5Sign_ITK/Release/connor_util.obj new file mode 100644 index 0000000..557b5e0 Binary files /dev/null and b/T5Sign_ITK/Release/connor_util.obj differ diff --git a/T5Sign_ITK/Release/epm_register_handler.obj b/T5Sign_ITK/Release/epm_register_handler.obj new file mode 100644 index 0000000..c7a9d02 Binary files /dev/null and b/T5Sign_ITK/Release/epm_register_handler.obj differ diff --git a/T5Sign_ITK/Release/epm_sign_rev.obj b/T5Sign_ITK/Release/epm_sign_rev.obj new file mode 100644 index 0000000..d1d6e0a Binary files /dev/null and b/T5Sign_ITK/Release/epm_sign_rev.obj differ diff --git a/T5Sign_ITK/Release/epm_signoff_dataset.obj b/T5Sign_ITK/Release/epm_signoff_dataset.obj new file mode 100644 index 0000000..8816c55 Binary files /dev/null and b/T5Sign_ITK/Release/epm_signoff_dataset.obj differ diff --git a/T5Sign_ITK/Release/erp_utils.obj b/T5Sign_ITK/Release/erp_utils.obj new file mode 100644 index 0000000..541f7af Binary files /dev/null and b/T5Sign_ITK/Release/erp_utils.obj differ diff --git a/T5Sign_ITK/Release/lib_custom_main.obj b/T5Sign_ITK/Release/lib_custom_main.obj new file mode 100644 index 0000000..fd06a9f Binary files /dev/null and b/T5Sign_ITK/Release/lib_custom_main.obj differ diff --git a/T5Sign_ITK/Release/link-cvtres.read.1.tlog b/T5Sign_ITK/Release/link-cvtres.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Release/link-cvtres.read.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Release/link-cvtres.write.1.tlog b/T5Sign_ITK/Release/link-cvtres.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Release/link-cvtres.write.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Release/link-rc.read.1.tlog b/T5Sign_ITK/Release/link-rc.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Release/link-rc.read.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Release/link-rc.write.1.tlog b/T5Sign_ITK/Release/link-rc.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Release/link-rc.write.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Release/link.command.1.tlog b/T5Sign_ITK/Release/link.command.1.tlog new file mode 100644 index 0000000..8e6dc17 Binary files /dev/null and b/T5Sign_ITK/Release/link.command.1.tlog differ diff --git a/T5Sign_ITK/Release/link.read.1.tlog b/T5Sign_ITK/Release/link.read.1.tlog new file mode 100644 index 0000000..00bdbdd Binary files /dev/null and b/T5Sign_ITK/Release/link.read.1.tlog differ diff --git a/T5Sign_ITK/Release/link.read.4.tlog b/T5Sign_ITK/Release/link.read.4.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/Release/link.read.4.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/Release/link.write.1.tlog b/T5Sign_ITK/Release/link.write.1.tlog new file mode 100644 index 0000000..1fba661 Binary files /dev/null and b/T5Sign_ITK/Release/link.write.1.tlog differ diff --git a/T5Sign_ITK/Release/mt.dep b/T5Sign_ITK/Release/mt.dep new file mode 100644 index 0000000..bae80cc --- /dev/null +++ b/T5Sign_ITK/Release/mt.dep @@ -0,0 +1 @@ +嵥ԴϴθʱΪ 16:09:20.16λΪ 2019/01/03 diff --git a/T5Sign_ITK/Release/rc.command.1.tlog b/T5Sign_ITK/Release/rc.command.1.tlog new file mode 100644 index 0000000..0cd5551 Binary files /dev/null and b/T5Sign_ITK/Release/rc.command.1.tlog differ diff --git a/T5Sign_ITK/Release/rc.read.1.tlog b/T5Sign_ITK/Release/rc.read.1.tlog new file mode 100644 index 0000000..1ac3cbc Binary files /dev/null and b/T5Sign_ITK/Release/rc.read.1.tlog differ diff --git a/T5Sign_ITK/Release/rc.write.1.tlog b/T5Sign_ITK/Release/rc.write.1.tlog new file mode 100644 index 0000000..426b4d6 Binary files /dev/null and b/T5Sign_ITK/Release/rc.write.1.tlog differ diff --git a/T5Sign_ITK/Release/space_node.obj b/T5Sign_ITK/Release/space_node.obj new file mode 100644 index 0000000..82d145a Binary files /dev/null and b/T5Sign_ITK/Release/space_node.obj differ diff --git a/T5Sign_ITK/Release/stdafx.obj b/T5Sign_ITK/Release/stdafx.obj new file mode 100644 index 0000000..4dcd788 Binary files /dev/null and b/T5Sign_ITK/Release/stdafx.obj differ diff --git a/T5Sign_ITK/Release/string_helper.obj b/T5Sign_ITK/Release/string_helper.obj new file mode 100644 index 0000000..d5eeb6a Binary files /dev/null and b/T5Sign_ITK/Release/string_helper.obj differ diff --git a/T5Sign_ITK/Release/string_utils.obj b/T5Sign_ITK/Release/string_utils.obj new file mode 100644 index 0000000..2f57a07 Binary files /dev/null and b/T5Sign_ITK/Release/string_utils.obj differ diff --git a/T5Sign_ITK/Release/vc110.pdb b/T5Sign_ITK/Release/vc110.pdb new file mode 100644 index 0000000..f7ae83a Binary files /dev/null and b/T5Sign_ITK/Release/vc110.pdb differ diff --git a/T5Sign_ITK/Resource.h b/T5Sign_ITK/Resource.h new file mode 100644 index 0000000..0df1e63 --- /dev/null +++ b/T5Sign_ITK/Resource.h @@ -0,0 +1,31 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by T5Sign_ITK.rc +// + +#define IDS_APP_TITLE 103 + +#define IDR_MAINFRAME 128 +#define IDD_T5SIGN_ITK_DIALOG 102 +#define IDD_ABOUTBOX 103 +#define IDM_ABOUT 104 +#define IDM_EXIT 105 +#define IDI_T5SIGN_ITK 107 +#define IDI_SMALL 108 +#define IDC_T5SIGN_ITK 109 +#define IDC_MYICON 2 +#ifndef IDC_STATIC +#define IDC_STATIC -1 +#endif +// ¶һĬֵ +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS + +#define _APS_NO_MFC 130 +#define _APS_NEXT_RESOURCE_VALUE 129 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 110 +#endif +#endif diff --git a/T5Sign_ITK/T5Sign_ITK.cpp b/T5Sign_ITK/T5Sign_ITK.cpp new file mode 100644 index 0000000..139cc30 --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.cpp @@ -0,0 +1,190 @@ +// T5Sign_ITK.cpp : Ӧóڵ㡣 +// + +#include "stdafx.h" +#include "T5Sign_ITK.h" + +#define MAX_LOADSTRING 100 + +// ȫֱ: +HINSTANCE hInst; // ǰʵ +TCHAR szTitle[MAX_LOADSTRING]; // ı +TCHAR szWindowClass[MAX_LOADSTRING]; // + +// ˴ģаĺǰ: +ATOM MyRegisterClass(HINSTANCE hInstance); +BOOL InitInstance(HINSTANCE, int); +LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); +INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); + +int APIENTRY _tWinMain(HINSTANCE hInstance, + HINSTANCE hPrevInstance, + LPTSTR lpCmdLine, + int nCmdShow) +{ + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + + // TODO: ڴ˷ô롣 + MSG msg; + HACCEL hAccelTable; + + // ʼȫַ + LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); + LoadString(hInstance, IDC_T5SIGN_ITK, szWindowClass, MAX_LOADSTRING); + MyRegisterClass(hInstance); + + // ִӦóʼ: + if (!InitInstance (hInstance, nCmdShow)) + { + return FALSE; + } + + hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_T5SIGN_ITK)); + + // Ϣѭ: + while (GetMessage(&msg, NULL, 0, 0)) + { + if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + return (int) msg.wParam; +} + + + +// +// : MyRegisterClass() +// +// Ŀ: עᴰࡣ +// +// ע: +// +// ϣ +// ˴ӵ Windows 95 еġRegisterClassEx +// ֮ǰ Win32 ϵͳʱҪ˺÷ô˺ʮҪ +// ӦóͿԻù +// ʽȷġСͼꡣ +// +ATOM MyRegisterClass(HINSTANCE hInstance) +{ + WNDCLASSEX wcex; + + wcex.cbSize = sizeof(WNDCLASSEX); + + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = WndProc; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInstance; + wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_T5SIGN_ITK)); + wcex.hCursor = LoadCursor(NULL, IDC_ARROW); + wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); + wcex.lpszMenuName = MAKEINTRESOURCE(IDC_T5SIGN_ITK); + wcex.lpszClassName = szWindowClass; + wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); + + return RegisterClassEx(&wcex); +} + +// +// : InitInstance(HINSTANCE, int) +// +// Ŀ: ʵ +// +// ע: +// +// ڴ˺Уȫֱбʵ +// ʾ򴰿ڡ +// +BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) +{ + HWND hWnd; + + hInst = hInstance; // ʵ洢ȫֱ + + hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL); + + if (!hWnd) + { + return FALSE; + } + + ShowWindow(hWnd, nCmdShow); + UpdateWindow(hWnd); + + return TRUE; +} + +// +// : WndProc(HWND, UINT, WPARAM, LPARAM) +// +// Ŀ: ڵϢ +// +// WM_COMMAND - Ӧó˵ +// WM_PAINT - +// WM_DESTROY - ˳Ϣ +// +// +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + int wmId, wmEvent; + PAINTSTRUCT ps; + HDC hdc; + + switch (message) + { + case WM_COMMAND: + wmId = LOWORD(wParam); + wmEvent = HIWORD(wParam); + // ˵ѡ: + switch (wmId) + { + case IDM_ABOUT: + DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); + break; + case IDM_EXIT: + DestroyWindow(hWnd); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + break; + case WM_PAINT: + hdc = BeginPaint(hWnd, &ps); + // TODO: ڴͼ... + EndPaint(hWnd, &ps); + break; + case WM_DESTROY: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} + +// ڡϢ +INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + switch (message) + { + case WM_INITDIALOG: + return (INT_PTR)TRUE; + + case WM_COMMAND: + if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) + { + EndDialog(hDlg, LOWORD(wParam)); + return (INT_PTR)TRUE; + } + break; + } + return (INT_PTR)FALSE; +} diff --git a/T5Sign_ITK/T5Sign_ITK.h b/T5Sign_ITK/T5Sign_ITK.h new file mode 100644 index 0000000..d00d47e --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.h @@ -0,0 +1,3 @@ +#pragma once + +#include "resource.h" diff --git a/T5Sign_ITK/T5Sign_ITK.ico b/T5Sign_ITK/T5Sign_ITK.ico new file mode 100644 index 0000000..d551aa3 Binary files /dev/null and b/T5Sign_ITK/T5Sign_ITK.ico differ diff --git a/T5Sign_ITK/T5Sign_ITK.rc b/T5Sign_ITK/T5Sign_ITK.rc new file mode 100644 index 0000000..05abd90 --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.rc @@ -0,0 +1,127 @@ +//Microsoft Visual C++ ɵԴű +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE 2 Դɡ +// +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +#undef APSTUDIO_HIDDEN_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS) +LANGUAGE 4, 2 +#pragma code_page(936) + +///////////////////////////////////////////////////////////////////////////// +// +// ͼ +// + +// ID ֵ͵ͼǰ棬ȷӦóͼ +// ϵͳбһ¡ + +IDI_T5SIGN_ITK ICON "T5Sign_ITK.ico" +IDI_SMALL ICON "small.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// ˵ +// + +IDC_T5SIGN_ITK MENU +BEGIN + POPUP "ļ(&F)" + BEGIN + MENUITEM "˳(&X)", IDM_EXIT + END + POPUP "(&H)" + BEGIN + MENUITEM "(&A) ...", IDM_ABOUT + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// ݼ +// + +IDC_T5SIGN_ITK ACCELERATORS +BEGIN + "?", IDM_ABOUT, ASCII, ALT + "/", IDM_ABOUT, ASCII, ALT +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Ի +// + +IDD_ABOUTBOX DIALOG 22, 17, 230, 75 +STYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU +CAPTION "" +FONT 9, "" +BEGIN + ICON IDI_T5SIGN_ITK,IDC_MYICON,14,9,16,16 + LTEXT "T5Sign_ITK 1.0 ",IDC_STATIC,49,10,119,8,SS_NOPREFIX + LTEXT "Ȩ (C) 2018",IDC_STATIC,49,20,119,8 + DEFPUSHBUTTON "ȷ",IDOK,195,6,30,11,WS_GROUP +END + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" + "#include ""windows.h""\r\n" + "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +///////////////////////////////////////////////////////////////////////////// +// +// ַ +// + +STRINGTABLE +BEGIN + IDC_T5SIGN_ITK "T5SIGN_ITK" + IDS_APP_TITLE "T5Sign_ITK" +END + +#endif +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE 3 Դɡ +// + +///////////////////////////////////////////////////////////////////////////// +#endif // APSTUDIO_INVOKED diff --git a/T5Sign_ITK/T5Sign_ITK.vcproj b/T5Sign_ITK/T5Sign_ITK.vcproj new file mode 100644 index 0000000..73302f8 --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.vcproj @@ -0,0 +1,514 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/T5Sign_ITK/T5Sign_ITK.vcproj.PLM001.Administrator.user b/T5Sign_ITK/T5Sign_ITK.vcproj.PLM001.Administrator.user new file mode 100644 index 0000000..8b9aeb6 --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.vcproj.PLM001.Administrator.user @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + diff --git a/T5Sign_ITK/T5Sign_ITK.vcproj.TEST.Administrator.user b/T5Sign_ITK/T5Sign_ITK.vcproj.TEST.Administrator.user new file mode 100644 index 0000000..da9ca4b --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.vcproj.TEST.Administrator.user @@ -0,0 +1,65 @@ + + + + + + + + + + + diff --git a/T5Sign_ITK/T5Sign_ITK.vcxproj b/T5Sign_ITK/T5Sign_ITK.vcxproj new file mode 100644 index 0000000..903e140 --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.vcxproj @@ -0,0 +1,225 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + {095F51C1-D017-4120-9F23-C4D6BDEADDE8} + T5Sign_ITK + Win32Proj + + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v110 + Unicode + + + DynamicLibrary + v110 + Unicode + true + + + DynamicLibrary + v110 + Unicode + + + + + + + + + + + + + + + + + + + <_ProjectFileVersion>11.0.50727.1 + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + true + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + true + + + $(SolutionDir)$(Configuration)\ + $(Configuration)\ + false + + + $(SolutionDir)$(Platform)\$(Configuration)\ + $(Platform)\$(Configuration)\ + false + + + + Disabled + Z:\D-2\WorkEnvironment\tc8ITK\32\include;Z:\D-2\WorkEnvironment\tc8ITK\32\include_cpp;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;IPLIB;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + Level3 + EditAndContinue + + + Z:\D-2\WorkEnvironment\tc8ITK\32\lib\*.lib;%(AdditionalDependencies) + libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + MachineX86 + + + + + X64 + + + Disabled + C:\Siemens\Teamcenter8\include;C:\Siemens\Teamcenter8\include_cpp;%(AdditionalIncludeDirectories) + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + EnableFastChecks + MultiThreadedDebugDLL + + Level3 + ProgramDatabase + + + C:\Siemens\Teamcenter8\lib\*.lib;%(AdditionalDependencies) + libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + MachineX64 + + + + + C:\Siemens\Teamcenter8\include;C:\Siemens\Teamcenter8\include_cpp;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;IPLIB=none;%(PreprocessorDefinitions) + MultiThreadedDLL + + Level3 + ProgramDatabase + + + C:\Siemens\Teamcenter8\lib\*.lib;%(AdditionalDependencies) + $(OutDir)T5Sign_itk.dll + libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + true + true + MachineX86 + + + + + X64 + + + Z:\D-2\WorkEnvironment\tc8ITK\include;Z:\D-2\WorkEnvironment\tc8ITK\include_cpp;%(AdditionalIncludeDirectories) + WIN32;NDEBUG;_WINDOWS;IPLIB=none;%(PreprocessorDefinitions) + MultiThreadedDLL + + Level3 + ProgramDatabase + + + Z:\D-2\WorkEnvironment\tc8ITK\lib\*.lib;%(AdditionalDependencies) + $(OutDir)T5Sign_itk.dll + libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries) + true + Windows + true + true + MachineX64 + + + + + + + + + Create + Create + Create + Create + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/T5Sign_ITK/T5Sign_ITK.vcxproj.filters b/T5Sign_ITK/T5Sign_ITK.vcxproj.filters new file mode 100644 index 0000000..c00c413 --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.vcxproj.filters @@ -0,0 +1,130 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav + + + {5a145297-a408-4e01-bb58-b0b3686838e6} + + + {728fe933-8382-4413-a1a5-d392577f3e88} + + + + + 源文件 + + + 源文件 + + + common + + + common + + + common + + + common + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + + + 头文件 + + + 头文件 + + + 头文件 + + + common + + + common + + + common + + + common + + + epm_handler + + + epm_handler + + + epm_handler + + + epm_handler + + + + + 资源文件 + + + 资源文件 + + + + + 资源文件 + + + + + + epm_handler + + + \ No newline at end of file diff --git a/T5Sign_ITK/T5Sign_ITK.vcxproj.user b/T5Sign_ITK/T5Sign_ITK.vcxproj.user new file mode 100644 index 0000000..a375ae3 --- /dev/null +++ b/T5Sign_ITK/T5Sign_ITK.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/T5Sign_ITK/beifen.txt b/T5Sign_ITK/beifen.txt new file mode 100644 index 0000000..15917a0 --- /dev/null +++ b/T5Sign_ITK/beifen.txt @@ -0,0 +1,206 @@ +#include "epm_handler_common.h" +#include "common_itk_util.h" +#include +#include +int PX_CaxaToPDF(EPM_action_message_t msg) +{ + ECHO("==================caxaͼֽӳ估תPDF START=======================\n"); + map type_map;//ļƶӦеitem + + int ifail = ITK_ok, + att_cnt = 0; + + tag_t task_tag = NULLTAG, + root_task_tag = NULLTAG, + * attachments = NULL; + + char arg_type[1024] = ""; + char arg_caxatype[1024] = ""; + char arg_tcstatus[1024] = ""; + char arg_jarpath[1024] = ""; + char arg_compyname[1024] = ""; + char arg_identity[1024] = ""; + char* argflag = NULL, * argvalue = NULL, * arg = NULL; + int arg_cnt = 0; + + arg_cnt = TC_number_of_arguments(msg.arguments); + ECHO("Ϊ%d\n", arg_cnt); + if (arg_cnt > 0) + { + for (int i = 0; i < arg_cnt; i++) + { + //ȡһ0ʼ + arg = TC_next_argument(msg.arguments); + //ȡƺֵ + ITK_ask_argument_named_value((const char*)arg, &argflag, &argvalue); + if (stricmp(argflag, "type") == 0) //汾 + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_type, argvalue); + } + } + if (stricmp(argflag, "caxatype") == 0) //caxaݼ + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_caxatype, argvalue); + } + } + if (stricmp(argflag, "tcstatus") == 0) //״̬ + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_tcstatus, argvalue); + } + } + if (stricmp(argflag, "jarpath") == 0) //ܰ· + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_jarpath, argvalue); + } + } + if (stricmp(argflag, "compyname") == 0) //ܰ· + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_compyname, argvalue); + } + } + if (stricmp(argflag, "identity") == 0) //תͼʶ + { + //strcmp("",""); + if (argvalue != NULL) + { + strcpy(arg_identity, argvalue); + } + } + } + ECHO("type%s\n", arg_type); + ECHO("caxatype%s\n", arg_caxatype); + ECHO("tcstatus%s\n", arg_tcstatus); + ECHO("jarpath%s\n", arg_jarpath); + ECHO("compyname%s\n", arg_compyname); + ECHO("identity%s\n", arg_identity); + MEM_free(argflag); + MEM_free(argvalue); + } + task_tag = msg.task; + EPM_ask_root_task(task_tag, &root_task_tag); + EPM_ask_attachments(root_task_tag, EPM_target_attachment, &att_cnt, &attachments); + char rev_uids[10240] = "\0"; + char puids[10240] = "\0"; + int current_len = 0; + for (int i = 0; i < att_cnt; i++) { + tag_t *spec; + char* object_type, * spec_type; + int spec_num; + AOM_ask_value_string(attachments[i],"object_type", &object_type); + ECHO("汾ͣ%s\n", object_type); + if (strstr(arg_type, object_type) != NULL) { + AOM_ask_value_tags(attachments[i], "IMAN_specification", &spec_num, &spec); + char* rev_uid; + POM_tag_to_uid(attachments[i], &rev_uid); + ECHO("IMAN_specification num%d\n", spec_num); + + + + for (int j = 0; j < spec_num; j++) { + boolean has_dataset = false; + AOM_ask_value_string(spec[j], "object_type", &spec_type); + ECHO("淶ͣ%s\n", spec_type); + if (strstr(arg_caxatype, spec_type)!= NULL) + { + + has_dataset = true; + ECHO("\n"); + char *dataset_uid; + //WSOM_ask_id_string(attachments[i], &rev_uid); + POM_tag_to_uid(spec[j], &dataset_uid); + //int len = strlen(puids); + + if (strcmp(puids, "\0") == 0) + { + + } + else + { + strcat(puids, "|"); + current_len ++; + } + printf("%s\n", puids); + //¼ݼ + if (strcmp(puids,"\0") == 0) + { + current_len = current_len + strlen(dataset_uid); + strcpy(puids,dataset_uid); + } + else + { + if (puids[current_len - 1] != '|') + { + strcat(puids, ","); + strcat(puids, dataset_uid); + current_len = current_len + strlen(dataset_uid) + 1; + } + else { + strcat(puids, dataset_uid); + current_len = current_len + strlen(dataset_uid); + } + } + + MEM_free(dataset_uid); + } + + if (has_dataset) { + //¼汾 + if (strcmp(rev_uids, "\0") == 0) + { + strcpy(rev_uids, rev_uid); + } + else + { + strcat(rev_uids, ","); + strcat(rev_uids, rev_uid); + } + + + } + } + + MEM_free(rev_uid); + } + + } + printf("2023/12/29\n"); + if (strcmp(puids, "\0") != 0) { + char cmd[20480] = ""; + strcpy(cmd, "start java -jar "); + strcat(cmd, arg_jarpath); + strcat(cmd, " \""); + strcat(cmd, rev_uids); + strcat(cmd, "\""); + strcat(cmd, " \""); + strcat(cmd, puids); + strcat(cmd, "\""); + strcat(cmd, " \""); + strcat(cmd, arg_tcstatus); + strcat(cmd, "\""); + strcat(cmd, " \""); + strcat(cmd, arg_compyname); + strcat(cmd, "\""); + strcat(cmd, " \""); + strcat(cmd, arg_identity); + strcat(cmd, "\""); + ECHO("\n%s\n", cmd); + system(cmd); + } + ECHO("==================caxaͼֽӳ估תPDF END=======================\n"); + return ifail; +} diff --git a/T5Sign_ITK/clear_form_prop.cpp b/T5Sign_ITK/clear_form_prop.cpp new file mode 100644 index 0000000..14e712b --- /dev/null +++ b/T5Sign_ITK/clear_form_prop.cpp @@ -0,0 +1,281 @@ +#include "epm_handler_common.h" +#include "error_handling.h" +#include "string_utils.h" +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include +#include +//#include +using namespace std; +#ifdef __cplusplus +extern "C" { +#endif + + + + + + int t5_clear_form_prop( METHOD_message_t* msg, va_list args ) + { + int ifail = ITK_ok, i = 0, j = 0; + + char rev_type[ITEM_type_size_c + 1], + *origin = "T5_Clear_", *_str = "_QzInfo", + *option_name ; + + tag_t new_rev = va_arg(args,tag_t ); + char* operation = va_arg(args,char* ); + tag_t parent_rev = va_arg(args,tag_t ); + int copyCount = va_arg(args,int ); + tag_t **obj_tags = va_arg(args,tag_t** ); + + printf("*******************************************************\n"); + printf("* t5_clear_form_prop is comming *\n"); + printf("*******************************************************\n"); + + if(strcmp(operation,"Revise")!=0 && strcmp(operation,"SaveAs")!=0){ + return ifail; + } + /*printf("new_rev==============================%d\n",new_rev); + printf("operation==============================%s\n",operation); + printf("parent_rev==============================%u\n",parent_rev); + printf("copyCount==============================%d\n",copyCount);*/ + + ITKCALL(ITEM_ask_rev_type(new_rev,rev_type)); + printf("rev_type=========%s\n",rev_type); + + char DataSetType[BMF_EXTENSION_STRGVAL_size_c + 1]; + + if (ifail == ITK_ok) + { + + + option_name = (char*)MEM_alloc(sizeof(char)*(tc_strlen(origin)+tc_strlen(rev_type)+tc_strlen(_str)+1)); + tc_strcpy(option_name,origin); + tc_strcat(option_name,rev_type); + tc_strcat(option_name,_str); + //-------------ȡѡ(origin+rev_type+_str),itemrevFormϵForm͡ + int option_value_count; + char **option_values; + ITKCALL(PREF_ask_char_values(option_name,&option_value_count,&option_values)); + printf("=====option_value_count======%d\n",option_value_count); + if(option_value_count == 0) + { + printf("optionѡ%s\n",option_name); + MEM_free(option_name); + return ifail; + } + MEM_free(option_name); + + int rfCount = 0; + tag_t *rfTags = NULL; + char form_object_type[WSO_name_size_c+1]; + ////-----------ҹϵ + //tag_t relationTag = NULLTAG; + //ITKCALL (GRM_find_relation_type("IMAN_master_form_rev",&relationTag)); + //if(relationTag == NULLTAG) + //{ + // printf("=====뽨%sϵͣ======\n",option_values[0]); + // return ifail; + //} + // + ////-----------ͨϵָ͵Form + // + // + //ITKCALL (GRM_list_secondary_objects_only(new_rev,relationTag,&rfCount,&rfTags));// + //printf("=====rfCount======%d\n",rfCount); + + ITKCALL (AOM_ask_value_tags(new_rev,option_values[0],&rfCount,&rfTags)); + printf("=====rfCount======%d\n",rfCount); + if (rfCount==0) + { + printf("=====δҵ%sϵͣ======\n",option_values[0]); + return ifail; + } + + for(i = 0; i < rfCount; i++) + { + ITKCALL(WSOM_ask_object_type(rfTags[i],form_object_type)); + printf("=====form_object_type======%s\n",form_object_type); + if(tc_strcmp(form_object_type,option_values[1]) == 0) + { + string str(option_values[2]); + int index=str.find("="); + if (index>0) + { + string str1=str.substr(0,index); + string str2=str.substr(index+1); + vector str2vals; + Split(str2,";",str2vals); + char *valstr; + ITKCALL( AOM_ask_value_string(rfTags[i],str1.c_str(),&valstr)); + int coulenth=str2vals.size(); + boolean isok=false; + for (int t = 0; t < coulenth; t++) + { + if (strcmp(valstr,str2vals[t].c_str())==0){ + isok=true; + } + } + if (isok) + { + ITKCALL( AOM_lock( rfTags[i] ) ); + for(j = 3;j < option_value_count; j++) + { + ITKCALL(AOM_set_value_string(rfTags[i],option_values[j],"")); + ITKCALL( AOM_save( rfTags[i] ) ); + } + ITKCALL( AOM_unlock( rfTags[i] ) ); + ITKCALL( AOM_refresh( rfTags[i],true ) ); + } + }else + { + + ITKCALL( AOM_lock( rfTags[i] ) ); + for(j = 2;j < option_value_count; j++) + { + ITKCALL(AOM_set_value_string(rfTags[i],option_values[j],"")); + ITKCALL( AOM_save( rfTags[i] ) ); + } + ITKCALL( AOM_unlock( rfTags[i] ) ); + ITKCALL( AOM_refresh( rfTags[i],true ) ); + } + break; + } + + } + MEM_free(option_values); + MEM_free(rfTags); + + } + + /**/ + printf("*******************************************************\n"); + printf("* t5_clear_form_prop is end *\n"); + printf("*******************************************************\n"); + + return ifail; + } + + + /**/ + //iman_save(itemrevision) + /*int Origin_Clear_Form_PropValue( METHOD_message_t* msg, va_list args ) + { + int ifail = ITK_ok, i = 0, j = 0; + + char rev_type[ITEM_type_size_c + 1], + *origin = "origin_", *_str = "_Clear_QzInfo", + *option_name = "Origin_ACADDWG_Clear_QzInfo"; + + tag_t item_rev = va_arg(args,tag_t ); + + printf("*******************************************************\n"); + printf("* Origin_Clear_Form_PropValue is comming *\n"); + printf("*******************************************************\n"); + + ITKCALL(ITEM_ask_rev_type(item_rev,rev_type)); + char rev_id[ITEM_id_size_c + 1]; + ITKCALL(ITEM_ask_rev_id(item_rev,rev_id)); + printf("rev_type==============================%s\n",rev_type); + printf("rev_id==============================%s\n",rev_id); + //option_name = (char*)MEM_alloc(sizeof(char)*(tc_strlen(origin)+tc_strlen(rev_type)+tc_strlen(_str)+1)); + //tc_strcpy(option_name,origin); + //tc_strcat(option_name,rev_type); + //tc_strcat(option_name,_str); + + //-------------ȡѡ(origin+rev_type+_str),itemrevFormϵForm͡ + int option_value_count; + char **option_values; + ITKCALL(PREF_ask_char_values(option_name,&option_value_count,&option_values)); + printf("=====option_value_count======%d\n",option_value_count); + if(option_value_count == 0) + { + printf("optionѡ%s\n",option_name); + return ITK_ok; + } + + //-----------ҹϵ + tag_t relationTag = NULLTAG; + ITKCALL (GRM_find_relation_type(option_values[0],&relationTag)); + if(relationTag == NULLTAG) + { + printf("=====뽨%sϵͣ======\n",option_values[0]); + return ITK_ok; + } + + //-----------ͨϵָ͵Form + int rfCount = 0; + tag_t *rfTags = NULL; + char form_object_type[WSO_name_size_c+1]; + ITKCALL (GRM_list_secondary_objects_only(item_rev,relationTag,&rfCount,&rfTags));// + printf("=====rfCount======%d\n",rfCount); + + GRM_relation_t* secondary_list ; + ITKCALL (GRM_list_secondary_objects(item_rev,relationTag,&rfCount,&secondary_list));// + printf("=====rfCount111111======%d\n",rfCount); + + ITEM_attached_object_t* objects; + ITKCALL (ITEM_list_all_rev_attachments(item_rev,&rfCount,&objects));// + printf("=====rfCount2222222======%d\n",rfCount); + + int t = 0; + tag_t *tg = NULLTAG; + ITKCALL(AOM_ask_value_tags(item_rev,option_values[0],&t,&tg)); + printf("=====tttttttt======%d\n",t); + + for(i = 0; i < rfCount; i++) + { + ITKCALL(WSOM_ask_object_type(objects[i].attachment,form_object_type)); + printf("=====form_object_type======%s\n",form_object_type); + if(tc_strcmp(form_object_type,option_values[1]) == 0) + { + ITKCALL( AOM_lock( rfTags[i] ) ); + for(j = 2;j < option_value_count; j++) + { + ITKCALL(AOM_set_value_string(rfTags[i],option_values[j]," ")); + ITKCALL( AOM_save( rfTags[i] ) ); + } + ITKCALL( AOM_unlock( rfTags[i] ) ); + break; + } + } + + //MEM_free(option_name); + MEM_free(option_values); + MEM_free(rfTags); + printf("*******************************************************\n"); + printf("* Origin_Clear_Form_PropValue is end *\n"); + printf("*******************************************************\n"); + + return ifail; + }*/ +} \ No newline at end of file diff --git a/T5Sign_ITK/common_itk_util.c b/T5Sign_ITK/common_itk_util.c new file mode 100644 index 0000000..a6b6891 --- /dev/null +++ b/T5Sign_ITK/common_itk_util.c @@ -0,0 +1,289 @@ +/** +* @file common_itk_util.cpp +* @brief itk warpper utility function +* @author James +* @history +* =================================================================================== +* Date Name Description of Change +* 18-July-2008 James +*/ + +#pragma warning (disable: 4996) +#pragma warning (disable: 4819) + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +//#include +//#include +//#include +//#include + +#include +//#include +#include +#include +//#include +//#include +#include "error_handling.h" +#include "common_itk_util.h" + +#ifdef WIN32 +#include +#include +#else +#include +#endif + + +#define ARGS_LENGTH 200 +#define ARGS_NAME_DEBUG "-debug" +#define DEBUG "-debug=" +#define MAX_PRINTLINE_LENGTH 2000 +#define MAX_PATH_LENGTH 2000 +#define MAX_ARGUMENT_LENGTH 400 +#define MAX_PARAMNAME_LENGTH 50 +#define MAX_FILE_EXT_LENGTH 10 +#define TRUE_FLAG 1 +#define FALSE_FLAG 0 +#define DETAILLOG 1 + + +void ECHO(char *format, ...) +{ + //if( !YFJC_OPT_DEBUG ) + // return; + + char msg[20480]; + va_list args; + + va_start( args, format ); + vsprintf( msg, format, args ); + va_end( args ); + + printf( msg ); + TC_write_syslog( msg ); +} + +FILE* logFile = NULL; + +void set_bypass(logical bypass) +{ + AM__set_application_bypass(bypass); +} +/*=============================================================================* + * FUNCTION: current_time + * PURPOSE : get the current datetime + * INPUT: + * date_t* date_tag // current date time tag + * + * RETURN: + * void + *============================================================================*/ +void current_time( date_t * date_tag ) +{ + time_t ltime; + struct tm *today ; + + // Set time zone from TZ environment variable. If TZ is not set, + // the operating system is queried to obtain the default value + // for the variable. + // + //_tzset(); + + // Get UNIX-style time and display as number and string. + time( <ime ); + + today = localtime( <ime ); + date_tag->year = today->tm_year + 1900 ; + date_tag->month = today->tm_mon ; + date_tag->day = today->tm_mday ; + date_tag->hour = today->tm_hour ; + date_tag->minute = today->tm_min ; + date_tag->second = today->tm_sec ; +} +/*=============================================================================* + * FUNCTION: CreateLogFile + * PURPOSE : create log file + * INPUT: + * char* FunctionName // the funtion which need to create log file + * FILE** logFile // out: the log file pointer + * + * RETURN: + * void + *============================================================================*/ +void CreateLogFile(char* FunctionName, char **fullname) +{ + int i=0, ifail = ITK_ok; + //date_t status_now; + //char* date_string = NULL; + char date_string[MAX_PATH_LENGTH]; + char logFileDir[MAX_PATH_LENGTH]; + char logFileName[MAX_PATH_LENGTH]; + + char* session_uid = NULL; + tag_t session_tag = NULLTAG; + time_t now; + struct tm *p; + + time(&now); + + logFile = NULL; + //current_time(&status_now); + p=localtime(&now); + + memset(date_string, 0, sizeof(date_string)); + sprintf(date_string,"%4d%02d%02d%02d%02d%02d",1900+p->tm_year,p->tm_mon+1 ,p->tm_mday ,p->tm_hour,p->tm_min ,p->tm_sec ); + //if( DATE_date_to_string( status_now, "%Y%m%d%H%M%S", &date_string) != ITK_ok ) + //ifail = ITK_date_to_string (status_now, &date_string ); + //if (ifail) + //{ + // printf("!*ERROR*!: Failed to get current date time\n"); + // goto CLEANUP; + //} + + memset(logFileDir, 0, sizeof(logFileDir)); + memset(logFileName, 0, sizeof(logFileName)); + //get log dir + sprintf(logFileDir, "%s", getenv("TEMP")); + printf("\n log file dir: %s\n", logFileDir); + //try to change dir to TC_USER_LOG_DIR + if(chdir(logFileDir)!=ITK_ok) + { + //not set TC_USER_LOG_DIR + //log in to default TC_LOG + memset(logFileDir, 0, sizeof(logFileDir)); + sprintf(logFileDir, "%s", getenv("TC_LOG")); + printf("\n TC_USER_LOG_DIR invalide, log file dir: %s\n", logFileDir); + if(chdir(logFileDir)!=ITK_ok) + { + //still can not change to log dir + printf("!*ERROR*!: Failed to change dir to TC_USER_LOG_DIR\n"); + goto CLEANUP; + } + } + + //get session_uid to make sure the log file name unique + POM_ask_session(&session_tag); + ITK__convert_tag_to_uid(session_tag, &session_uid); + + + //get logFileName + sprintf(logFileName, "%s_%s_%s.log", FunctionName, session_uid, date_string); + printf("log file name: %s\n", logFileName); + + *fullname = (char *)MEM_alloc(sizeof(char)*512); + sprintf(*fullname,"%s\\%s",logFileDir,logFileName); + + //for(i = 0; _access((char *)logFileName, 4) == 0; i++) + /*{ + memset(logFileName, 0, sizeof(logFileName)); + sprintf(logFileName, "%s_%s_%s_%d.log", FunctionName, session_uid, date_string, i); + } + printf("final log file name: %s\n", logFileName);*/ + + //create log file + logFile = fopen(logFileName, "w"); + +CLEANUP: + //DOFREE(date_string); + DOFREE(session_uid); +} + + +/*=============================================================================* + * FUNCTION: WriteLog + * PURPOSE : write log, if debug log File not null, write log message to log File + * INPUT: + * const char* format // debug message string + * + * RETURN: + * void + *============================================================================*/ +void WriteLog(const char* format, ...) +{ + va_list arg; + char tmp[MAX_PRINTLINE_LENGTH]; + + if(logFile) + { + //get the message + memset(tmp, 0, sizeof(tmp)); + va_start(arg, format); + vsprintf(tmp, format, arg); + va_end(arg); + + //----------print to command window for trace--------// + printf("%s\n", tmp); + + //print message to log file + fprintf(logFile, "%s\n", tmp); + fflush(logFile); + } + else + { + printf("*!Error!*: Log File Not Exist\n"); + } +} + +void CloseLog(void) +{ + if(logFile) + { + fclose(logFile); + logFile = NULL; + } +} + +//void getTypeinfo(char *type) +//{ +// int ulen = 0,i=0,tempcount=0,asd=0; +// +// char temp[128]=""; +// ulen = strlen(type); +// asd = ulen-1; +// for(i=0;i < ulen;i++) +// { +// if(type[i] == ';') +// { +// temp[tempcount] = '\0'; +// strcpy(excludetypes[typecount].type,temp); +// strcpy(temp,""); +// tempcount = 0; +// typecount = typecount + 1; +// } +// else +// { +// +// temp[tempcount] = type[i]; +// tempcount = tempcount + 1; +// if(i==asd) +// { +// temp[tempcount] = '\0'; +// strcpy(excludetypes[typecount].type,temp); +// typecount = typecount + 1; +// } +// +// } +// +// } +//} \ No newline at end of file diff --git a/T5Sign_ITK/common_itk_util.h b/T5Sign_ITK/common_itk_util.h new file mode 100644 index 0000000..71ca4ea --- /dev/null +++ b/T5Sign_ITK/common_itk_util.h @@ -0,0 +1,41 @@ +/** +* @file common_itk_util.h +* @brief itk warpper utility function +* @author James +* @history +* =================================================================================== +* Date Name Description of Change +* 09-July-2008 James +*/ + +#ifndef COMMON_ITK_UTIL +#define COMMON_ITK_UTIL + +#ifdef __cplusplus +extern "C" { +#endif + +#define DOFREE(obj) \ +{ \ + if(obj) \ + { \ + MEM_free(obj); \ + obj = NULL; \ + } \ +} +void ECHO(char *format, ...); +void CreateLogFile(char* FunctionName, char **fullname); +void WriteLog(const char* format, ...); +void CloseLog(void); +void set_bypass(logical bypass); +void current_time( date_t * date_tag ); +//int FindDatasetReferenceExt( tag_t datasettype, const char *datasettype_ref, char ext[10] ); +//int CompareDate( date_t date1, date_t date2 ); +//int GetRandomTempFile( char tempFile[256] ); +//logical IsItemRevisionType( char object_type[WSO_name_size_c + 1] ); + +#ifdef __cplusplus +} +#endif + +#endif \ No newline at end of file diff --git a/T5Sign_ITK/connor_util.cpp b/T5Sign_ITK/connor_util.cpp new file mode 100644 index 0000000..ce93499 --- /dev/null +++ b/T5Sign_ITK/connor_util.cpp @@ -0,0 +1,52 @@ +#include "connor_util.h" + +/** +*жijǷ +*objtag ҪжϵĶ +*type_name ͵ +*/ +int checkIsTypeOrSubtype(tag_t objtag,char * type_name){ + printf("жǷ%s\n",type_name); + tag_t type = NULLTAG; + ITKCALL(TCTYPE_ask_object_type(objtag,&type)); + tag_t item_type = NULLTAG; + ITKCALL(TCTYPE_find_type(type_name,"",&item_type)); + int is_type = 0; + if(item_type != NULLTAG){ + printf("ҵ%s\n",type_name); + //printf(" find Folder type ok !!!! \n"); + logical isok = FALSE; + ITKCALL(TCTYPE_is_type_of(type,item_type,&isok)); + if(isok){ + printf("%s༰\n",type_name); + is_type= 1; + }else{ + printf("%s༰\n",type_name); + is_type= 0; + } + }else{ + printf("ûҵ%s\n",type_name); + } + return is_type; +} + +/** +* ȡѡ +*/ +int getPrefStrings( const char *preference, TC_preference_search_scope_t scope, vector &pref_vec ) +{ + int ifail = ITK_ok , i = 0, j = 0, k =0, num = 0; + char **values; + TC_preference_search_scope_t old_scope; + ITKCALL( ifail = PREF_ask_search_scope( &old_scope) ); + ITKCALL( ifail = PREF_set_search_scope( scope ) ); + ITKCALL( ifail = PREF_ask_char_values( preference, &num, &values ) ); + //WriteLog("num=%d",num); + for(i = 0; i < num; i++) + { + pref_vec.push_back(values[i]); + } + DOFREE(values); + ITKCALL( ifail = PREF_set_search_scope( old_scope ) ); + return ifail; +} \ No newline at end of file diff --git a/T5Sign_ITK/connor_util.h b/T5Sign_ITK/connor_util.h new file mode 100644 index 0000000..1c1a6cd --- /dev/null +++ b/T5Sign_ITK/connor_util.h @@ -0,0 +1,54 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +#define DOFREE(obj) \ +{ \ + if(obj) \ + { \ + MEM_free(obj); \ + obj = NULL; \ + } \ +} + +int checkIsTypeOrSubtype(tag_t objtag,char * type_name); +int getPrefStrings( const char *preference, TC_preference_search_scope_t scope, vector &pref_vec); + + \ No newline at end of file diff --git a/T5Sign_ITK/epm_handler_common.h b/T5Sign_ITK/epm_handler_common.h new file mode 100644 index 0000000..783b262 --- /dev/null +++ b/T5Sign_ITK/epm_handler_common.h @@ -0,0 +1,75 @@ +/** +* @addtogroup handler +* @{ +*/ + +/** +* @file epm_handler_common.h +* @brief handler functions declation +* @date 2011/4/12 +* @author Ray +* @history +* =================================================================================== +* Date Name Description +* 12-Apr-2011 Ray created +*/ + + +#ifndef EPM_HANDLER_COMMON +#define EPM_HANDLER_COMMON + +#include +#include +#include + + +#ifdef __cplusplus +extern "C" { +#endif + + + using namespace std; + + +#define TC_specification "IMAN_specification" +//#define NX_3W_DATASET_TYPE "UGMASTER" +//#define NX_2W_DATASET_TYPE "UGPART" +//#define DATASET_REF_TYPE "UGPART" +int ORIGIN_set_bypass(void *returnValue); +int USERSEVICE_TEST(void * returnValue); +int remove_class(void *returnValue); +int connor_set_release_status(void * returnValue); +int ORIGIN_close_bypass(void *returnValue); +int getDbMsg(void *returnValue); +int check_target_null( EPM_rule_message_t msg ); +int tm_sign_tongzhi(EPM_action_message_t msg); +int tm_show_object_name(EPM_action_message_t msg); +int Connor_bypass(EPM_action_message_t msg); +int Connor_class_null(EPM_rule_message_t msg); + +int PX_set_signoff(EPM_action_message_t mag); +int PX_pdf_signoff(EPM_action_message_t mag); + + +int PX_signoff_rev(EPM_action_message_t msg); +int t5_signoff_dataset( EPM_action_message_t msg ); +int t5_clear_form_prop( METHOD_message_t* msg, va_list args ); +int t5_Space_node( EPM_action_message_t msg); + +int PX_CaxaSign(EPM_action_message_t msg); +int PX_pdf_signoff(EPM_action_message_t mag); + +int PX_Create_AfterOperation( METHOD_message_t* msg, va_list args ); +int PX_Save_AfterOperation( METHOD_message_t* msg, va_list args ); + + //user service end +#ifdef __cplusplus +} +#endif + +#endif + + +/** +* @} +*/ \ No newline at end of file diff --git a/T5Sign_ITK/epm_register_handler.cpp b/T5Sign_ITK/epm_register_handler.cpp new file mode 100644 index 0000000..e422f82 --- /dev/null +++ b/T5Sign_ITK/epm_register_handler.cpp @@ -0,0 +1,277 @@ +/*=================================================================================================== + Copyright(c) 2011 Siemens PLM Software Corp. All rights reserved. + Unpublished - All rights reserved +==================================================================================================== +File description: + + Filename : epm_register_handler.c + + This file registers functions which are called when Teamcenter is being initialized + +==================================================================================================== +Date Name Description of Change +2011-8-21 Ray creation + +$HISTORY$ +==================================================================================================*/ + +#pragma warning (disable: 4819) + +/** +* @headerfile tcua ͷļ +*/ +#include +#include +#include +#include + +/** +* @headerfile standard c & cpp header files +*/ +#include +#include +#include +#include +#include +#include +#include +#include + + +/** +* @headerfile user's header files +*/ +#include "epm_register_handler.h" +#include "epm_handler_common.h" + + + +#define LIMITDAY 2016 + +int checkvalue(char* str) +{ + + int i; + for (i=0;i + +#ifdef __cplusplus +extern "C" { +#endif + +extern DLLAPI int USERSERVICE_custom_register_handlers(int *, va_list); +extern DLLAPI int USERSERVICE_custom_register_methods(int *decision, va_list args); +//extern DLLAPI int USERSERVICE_custom_register_runtime_methods(int *decision, va_list args); +extern int Register_revise_msg( void ); +extern int Run_Time_register_properties( void ); +// int Q7_ebom_to_pbom (void * returnValueType); + +#ifdef __cplusplus +} +#endif + +#endif + + +/** +* @} +*/ \ No newline at end of file diff --git a/T5Sign_ITK/epm_sign_rev.cxx b/T5Sign_ITK/epm_sign_rev.cxx new file mode 100644 index 0000000..c042bc3 --- /dev/null +++ b/T5Sign_ITK/epm_sign_rev.cxx @@ -0,0 +1,719 @@ +/*=================================================================================================== +Copyright(c) 2011 Siemens PLM Software Corp. All rights reserved. +Unpublished - All rights reserved +==================================================================================================== +File description: + +Filename : epm_autosign_hander.cpp + +This file describes action handler function : PLA8-signoff + +ǩϢд + +==================================================================================================== +Date Name Description of Change +19-Jan-2013 Ray Li creation + +$HISTORY$ +==================================================================================================*/ +#pragma warning (disable: 4996) +#pragma warning (disable: 4819) +/** +* @headerfile tcua ͷļ +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/** +* @headerfile standard c & cpp header files +*/ +#include +#include +#include +//#include +//#include +#include +#include +#include +#include +#include +#include +using namespace std; + +/** +* @headerfile user's header files +*/ +#include "epm_handler_common.h" +#include "error_handling.h" +#include "common_itk_util.h" +#include "string_utils.h" + + +//̽ڵϢ +struct FLOWNODEINFOS +{ + char taskname[128]; + char username[128]; + char timeinfo[128]; + char group[128]; + char comments[1024]; +}flownode_s[64]; + +//ԱϢ +struct USERINFOS +{ + char taskname[128]; + char propertyname[128]; + char group[128]; +}userinfo_s[64]; + +//Ϣ +struct TIMEINFOS +{ + char taskname[128]; + char propertyname[128]; + char group[128]; +}timeinfo_s[64]; + + + +int nodecount = 0; +int userinfoscount = 0; +int timeinfoscount = 0; + + + + +extern "C" int POM_AM__set_application_bypass(logical bypass); + +int ORIGIN_ask_sign_info(tag_t task_node, char *output_str,char *task_name,char *arg3value) +{ + int ifail = ITK_ok; + tag_t cur_perform_task = NULLTAG,tempTask = NULLTAG; + //char cur_task_name[WSO_name_size_c+1]="",buf[128] = ""; + char cur_task_name[1024] = ""; + //жϱ + int s = 0; + EPM_decision_t decision = EPM_nogo; + char* userName; + char *timeinfo1 = "",person_name[1024] = "",*group_name="",*prop_name = "last_mod_date"; + tag_t aUserTag = NULLTAG,responsibleParty = NULLTAG; + date_t decision_date; + //ڵ + int perform_count = 0; + int *attach_type; + tag_t *perform_attaches = NULLTAG; + tag_t memberTag = NULLTAG; + SIGNOFF_TYPE_t memberType; + CR_signoff_decision_t signoff_decision; + //EPM_signoff_decision_t signoff_decision; + char *comments,*timeinfo="",*group_full_name = NULL; + tag_t user_tag=NULLTAG, group_tag = NULLTAG; + //ѭжϱ + int i=0; + + EPM_ask_name( task_node, cur_task_name ) ; + printf("cur_task_name = %s\n",cur_task_name); + if ( stricmp( cur_task_name, "perform-signoffs" ) == 0 ) + { + cur_perform_task = task_node; + //õڵ + EPM_ask_parent_task( cur_perform_task, &tempTask ); + EPM_ask_name( tempTask, cur_task_name ); + } + else if( strstr( cur_task_name, "" )!=NULL || strcmp( cur_task_name, "" ) == 0) + { + cur_perform_task = task_node; + } + else + { + EPM_ask_sub_task(task_node, "perform-signoffs", &cur_perform_task) ; + if ( cur_perform_task != NULLTAG ) + { + EPM_ask_name( task_node, cur_task_name ); + + } + } + if(cur_perform_task != NULLTAG ) + { + if( strstr(cur_task_name,"") !=NULL||strcmp( cur_task_name, "" ) == 0 ) + { + tag_t owner = NULLTAG; + s = EPM_ask_responsible_party(cur_perform_task,&responsibleParty); + if(responsibleParty != NULLTAG) + { + decision = EPM_go; + } + AOM_ask_owner( cur_perform_task, &owner); + //s = POM_get_user(&userName,&aUserTag); + if( owner != NULLTAG ) + SA_ask_user_person_name(owner, person_name); + AOM_ask_value_date(cur_perform_task,prop_name,&decision_date); + DATE_date_to_string(decision_date,arg3value,&timeinfo1); + //ITK_date_to_string (decision_date, &timeinfo1); + strcpy(flownode_s[nodecount].taskname,cur_task_name); + strcpy(flownode_s[nodecount].username,person_name); + strcpy(flownode_s[nodecount].timeinfo,timeinfo1); + + nodecount = nodecount + 1; + //MEM_free(userName); + } + else + { + //˼ + tag_t owner = NULLTAG; + date_t date; + logical is_valid; + char *d_value = NULL; + AOM_ask_owner( cur_perform_task, &owner); + if( owner != NULLTAG ) + SA_ask_user_person_name(owner, person_name); + AOM_ask_value_date(cur_perform_task,"creation_date", &date);//fnd0StartDate + DATE_date_to_string(date,arg3value,&d_value); + + EPM_ask_all_attachments(cur_perform_task,&perform_count,&perform_attaches,&attach_type); + + for(i=0;i 0) + { + for (i=0;i type_vec; + + //Split(exclude_type,";",type_vec); + + printf("1%d\n",userinfoscount); + printf("2%d\n",timeinfoscount); + + //õhandlerĽڵ + msg.task; + //ͨڵȡ + EPM_ask_root_task( msg.task, &root_task ); + //õµеһڵ + EPM_ask_sub_tasks(root_task, &sub_task_count, &sub_tasks); + //õ̵ + EPM_ask_name( root_task, root_task_name ); + // + printf("root_task_name=%s\n",root_task_name); + EPM_ask_name( current_task, task_name ); + printf( "sub_task_count = %d\n", sub_task_count ); + + //test========================== + //tag_t user = NULLTAG, *tasks = NULL; + //int n_task= 0; + //ITKCALL(SA_find_user( "admin", &user )); + //ITKCALL(SA_ask_user_work_contexts ( user, &n_task, &tasks)); + //ECHO("==========n_task=%d",n_task); + //============================== + + //DOڵ doڵ + if(strstr(task_name,"") !=NULL||strcmp(task_name,"") == 0) + { + printf("task_name:%s",task_name); + //ȡ + s = EPM_ask_responsible_party(current_task,&responsibleParty); + if(responsibleParty != NULLTAG) + { + decision = EPM_go; + } + //ȡǰû + s = POM_get_user(&userName,&aUserTag); + //ȡpersonname + SA_ask_user_person_name(aUserTag,person_name); + strcat(sign_info,task_name); + strcat(sign_info,"="); + strcat(sign_info,person_name); + strcat(sign_info,"|"); + strcat(sign_info,task_name); + strcat(sign_info,"="); + //POM_ask_v + //ȡʱԣ1󣬲2ƣ3ȡʱֵ + AOM_ask_value_date(current_task,prop_name,&decision_date); + //AOM_UIF_ask_value(current_task,prop_name, &timeinfo2); + //ʱṹתΪijʱʽַ + DATE_date_to_string(decision_date,arg3value,&timeinfo2); + printf("\n--------------\n timeinfo2=%s\n------------\n",timeinfo2); + strcat(sign_info,timeinfo2); + strcat(sign_info,"|"); + strcpy(flownode_s[nodecount].taskname,task_name); + strcpy(flownode_s[nodecount].username,person_name); + strcpy(flownode_s[nodecount].timeinfo,timeinfo2); + nodecount = nodecount + 1; + + } + else //performڵ + { + for(i=0;i +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "common_itk_util.h" + +/** +* @headerfile standard c & cpp header files +*/ +#include +#include +#include +//#include +//#include +#include +#include +#include +#include +#include +#include +#include + +/** +* @headerfile user's header files +*/ +#include "epm_handler_common.h" +#include "error_handling.h" +#include "common_itk_util.h" +#include "string_helper.h" + + +using namespace std; +typedef struct +{ + string name; + string value; +}CAD_ATTR_STRUCT; +extern "C" int POM_AM__set_application_bypass(logical bypass); + + + +int USERSEVICE_TEST(void * returnValue){ + int ifail = ITK_ok; + tag_t item; + + USERARG_get_tag_argument(&item); + + + return ITK_ok; +} + +int connor_set_release_status(void * returnValue){ + int ifail = ITK_ok; + tag_t item = NULL_TAG,release_status =NULL_TAG; + char * release_name = NULL; + tag_t * release_objs = NULL; + + USERARG_get_tag_argument(&item); + USERARG_get_string_argument(&release_name); + + int temp_count = 1; + release_objs = (tag_t *)MEM_alloc(temp_count*sizeof(tag_t)); + release_objs[0] = item; + + ITKCALL(ifail = CR_create_release_status(release_name,&release_status)); + ITKCALL(ifail = EPM_add_release_status(release_status,temp_count,release_objs,TRUE)); + + if(release_name !=NULL){ + MEM_free(release_name); + } + + return ITK_ok; +} + +int ORIGIN_set_bypass(void *returnValue) +{ + + POM_AM__set_application_bypass(true); + return 0; +} + +int remove_class(void *returnValue) +{ + char * icouid = NULL; + tag_t icotag = NULLTAG; + USERARG_get_string_argument(&icouid); + ITK__convert_uid_to_tag(icouid,&icotag); + if(icotag!=NULLTAG){ + POM_AM__set_application_bypass(true); + ITKCALL(ICS_ico_remove(icotag)); + POM_AM__set_application_bypass(false); + } + return 0; +} + + + + +int ORIGIN_close_bypass(void *returnValue) +{ + POM_AM__set_application_bypass(false); + return 0; +} + +int getDbMsg(void *returnValue) +{ + char * tc_root_dir = getenv("tc_root"); + + char name[32] = "-u=admin"; + char pwd[32] = "-p=admin"; + char output_file[SS_MAXPATHLEN] = ""; + char jar_file[SS_MAXPATHLEN] = ""; + + //----------------------------- + strcpy(jar_file, tc_root_dir); + strcat(jar_file, "\\bin\\"); + strcat(jar_file, "HX_ProjectDashboard.exe"); + + + //ITKCALL(IMF_export_file(ref_object, temp_file2)); + int iCnt; + char *user_lib_env,pTempStr[500]; + char local_path[MAX_PATH] = ""; + char cmd[256] = ""; + //strcpy( cmd, user_lib_env ); + strcpy( cmd, "\"" ); + strcat( cmd, jar_file ); + strcat( cmd, "\" \"" ); + + strcat( cmd, name ); + strcat( cmd, "\" \"" ); + strcat( cmd, pwd ); + + strcat( cmd, "\"" ); + printf( "\n%s\n",cmd ); + //system( cmd ); + WinExec(cmd,SW_HIDE); + + return 0; +} + +//ݼļ +static int export_dataset_file(tag_t dataset,char *ref_name, char *ext, char **filename, char **original_name) +{ + int ifail = ITK_ok; + tag_t ref_object = NULLTAG, + datasettype = NULLTAG, + new_ds = NULLTAG, + tool = NULLTAG, + folder_tag = NULLTAG, + spec_dataset_rev = NULLTAG; + AE_reference_type_t reference_type; + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor; + char new_ds_name[WSO_name_size_c + 1] = ""; + char *new_file_name; + + *filename = (char *)MEM_alloc(sizeof(char)*512); + *original_name = (char *)MEM_alloc(sizeof(char)*512); + strcpy(*filename, ""); + AE_ask_dataset_latest_rev(dataset, &spec_dataset_rev); + AE_ask_dataset_named_ref(dataset, ref_name, &reference_type, &ref_object); + if(ref_object==NULLTAG) + { + ECHO("ref_object is NULLTAG\n"); + return 1; + } + //WriteLog("\reference_type=%d\n",reference_type); + if(reference_type == AE_PART_OF) + { + char pathname[SS_MAXPATHLEN] = ""; + IMF_ask_file_pathname(ref_object, SS_WNT_MACHINE, pathname); + char origin_file_name[IMF_filename_size_c + 1] = ""; + IMF_ask_original_file_name(ref_object, origin_file_name); + strcpy(*original_name, origin_file_name); + char new_ds_name[WSO_name_size_c + 1] = ""; + char *new_file_name = USER_new_file_name(new_ds_name, ref_name, ext, 0); + char *temp_dir = getenv("TEMP"); + char temp_file[SS_MAXPATHLEN] = ""; + strcpy(temp_file, temp_dir); + strcat(temp_file, "\\"); + strcat(temp_file, new_file_name); + ECHO("temp_file=%s\n",temp_file); + + IMF_export_file(ref_object, temp_file); + strcpy(*filename, temp_file); + } + return ITK_ok; +} + +//ݼ +static int import_dataset_file(tag_t dataset, char *ref_name, char *ext, char *fullfilename, char *original_name) +{ + int ifail = ITK_ok; + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor = NULL; + AOM_refresh( dataset, FALSE ); + char *new_file_name = NULL; + char new_ds_name[WSO_name_size_c + 1] = ""; + char *filename = NULL; + new_file_name = USER_new_file_name( new_ds_name, ref_name, ext, 0 ); + + + filename = strrchr(fullfilename,'\\') + 1; + if (filename == NULL) + return ITK_ok; + ECHO("IMF_import_file\n"); + set_bypass(true); + IMF_import_file(fullfilename, new_file_name, SS_BINARY,&new_file_tag, &file_descriptor); + ECHO("IMF_set_original_file_name\n"); + IMF_set_original_file_name(new_file_tag, original_name); + + IMF_close_file( file_descriptor ); + AOM_save( new_file_tag ); + AOM_unlock( new_file_tag ) ; + AOM_refresh( new_file_tag, FALSE ) ; + + // + set_bypass(true); + ITKCALL( AOM_lock( dataset ) ); + ECHO("AE_remove_dataset_named_ref\n"); + AE_remove_dataset_named_ref(dataset,ref_name); + AOM_save(dataset); + + ECHO("AE_add_dataset_named_ref\n"); + set_bypass(true); + AE_add_dataset_named_ref( dataset, ref_name, AE_PART_OF, new_file_tag ); + + AOM_save( dataset ) ; + AOM_unlock( dataset ) ; + //ITKCALL( AOM_refresh( dataset, FALSE ) ); + return ifail; +} +int create_signinfo_file(char *file_content,char *item_id, char **file_name) +{ + time_t now; + struct tm *p; + FILE *filePtr = NULL; + + char *temp_dir = getenv("TEMP"); + char local_path[MAX_PATH] = ""; + + time(&now); + p = localtime(&now); + if(temp_dir[strlen(temp_dir) - 1] == '\\') + { + sprintf_s(local_path, "%s%s-%d-%d-%d-%d-%d-%d.dat", temp_dir,item_id, + 1900+p->tm_year,p->tm_mon+1 ,p->tm_mday+1 ,p->tm_hour,p->tm_min ,p->tm_sec); + } + else + { + sprintf_s(local_path, "%s\\%s-%d-%d-%d-%d-%d-%d.dat", temp_dir,item_id, + 1900+p->tm_year,p->tm_mon+1 ,p->tm_mday+1 ,p->tm_hour,p->tm_min ,p->tm_sec); + } + + if((filePtr = fopen(local_path, "wt")) == NULL) + { + printf("Can not create the temp dat file!\n"); + return -1; + } + *file_name = (char *)MEM_alloc(sizeof(char)*512); + strcpy((*file_name), local_path); + + fwrite(file_content, sizeof(char), strlen(file_content), filePtr); + fclose(filePtr); + + return ITK_ok; +} + +int signoff_acad(tag_t dataset, char *dat_file) +{ + + + + tag_t spec_dataset_rev = NULLTAG, + ref_object = NULLTAG; + + AE_reference_type_t reference_type; + + AE_ask_dataset_latest_rev(dataset, &spec_dataset_rev); + + char ref_name[WSO_name_size_c + 1] = "T5_ACAD"; + + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if(ref_object==NULLTAG) + { + printf("\nref_object is NULLTAG\n"); + return ITK_ok; + } + printf("\reference_type=%d\n",reference_type); + if(reference_type == AE_PART_OF) + { + char pathname[SS_MAXPATHLEN] = ""; + printf("\n3333333\n"); + IMF_ask_file_pathname(ref_object, SS_WNT_MACHINE, pathname); + char origin_file_name[IMF_filename_size_c + 1] = ""; + IMF_ask_original_file_name(ref_object, origin_file_name); + + char new_ds_name[WSO_name_size_c + 1] = ""; + char *new_file_name = USER_new_file_name(new_ds_name, ref_name, "dwg", 0); + char *temp_dir = getenv("TEMP"); + char temp_file[SS_MAXPATHLEN] = ""; + strcpy(temp_file, temp_dir); + strcat(temp_file, "\\"); + strcat(temp_file, new_file_name); + printf("\ntemp_file=%s\n",temp_file); + + IMF_export_file(ref_object, temp_file); + printf("\n555555555\n"); + + int iCnt; + char *user_lib_env,pTempStr[500]; + char local_path[MAX_PATH] = ""; + char cmd[256] = ""; + //user_lib_env = getenv("TC_USER_LIB"); + //strcpy(local_path, user_lib_env); + + //iCnt = strlen(user_lib_env); + //while( user_lib_env[iCnt] != '\\' ) + //{ + // iCnt--; + //} + + //strcpy(pTempStr,""); + //strcpy(pTempStr,&user_lib_env[iCnt+1]); + + //if( strcmp(pTempStr,"acad_signoff.exe") != 0 ) + //{ + // strcat( user_lib_env, "\\acad_signoff.exe" ); + //} + + //strcpy( cmd, user_lib_env ); + //strcat( user_lib_env, "\\acad_signoff.exe" ); + strcpy( cmd, "acad_signoff.exe" ); + strcat( cmd, " \"" ); + strcat( cmd, temp_file ); + strcat( cmd, "\" \"" ); + strcat( cmd, dat_file ); + strcat( cmd, "\"" ); + printf( "\n%s\n",cmd ); + system( cmd ); + + //strcpy(user_lib_env, local_path); + + + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor; + IMF_import_file(temp_file, new_file_name, SS_BINARY, &new_file_tag, &file_descriptor); + IMF_set_original_file_name(new_file_tag, origin_file_name); + IMF_close_file(file_descriptor); + AOM_save(new_file_tag); + AOM_unlock(new_file_tag); + + AOM_lock(spec_dataset_rev); + //CALL(AOM_load (spec_dataset_rev)); + AE_remove_dataset_named_ref_by_tag(spec_dataset_rev, ref_name, ref_object); + //AE_insert_dataset_named_ref2(spec_dataset_rev,0, ref_name, AE_PART_OF, new_file_tag);//һλò + AE_add_dataset_named_ref(spec_dataset_rev, ref_name, AE_PART_OF, new_file_tag); + AOM_save(spec_dataset_rev); + AOM_unlock(spec_dataset_rev); + } + + return ITK_ok; +} + +int signoff_msword(tag_t dataset, char *dat_file,char *ext) +{ + tag_t spec_dataset_rev = NULLTAG , ref_object = NULLTAG; + AE_reference_type_t reference_type; + //printf("\n111111111111\n"); + AE_ask_dataset_latest_rev(dataset, &spec_dataset_rev); + + char ref_name[WSO_name_size_c + 1] = "Fnd0word"; + //printf("\n22222222222\n"); + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if(reference_type == AE_PART_OF) + { + //printf("\n3333333333333\n"); + char pathname[SS_MAXPATHLEN] = ""; + IMF_ask_file_pathname(ref_object, SS_WNT_MACHINE, pathname); + char origin_file_name[IMF_filename_size_c + 1] = ""; + IMF_ask_original_file_name(ref_object, origin_file_name); + //printf("\n44444444444444\n"); + char new_ds_name[WSO_name_size_c + 1] = ""; + char *new_file_name = USER_new_file_name(new_ds_name, ref_name, ext, 0); + char *temp_dir = getenv("temp"); + //printf("\n555555555555\n"); + char temp_file[SS_MAXPATHLEN] = ""; + strcpy(temp_file, temp_dir); + strcat(temp_file, "\\"); + strcat(temp_file, new_file_name); + + IMF_export_file(ref_object, temp_file); + //printf("\n66666666666666\n"); + + int iCnt; + char *user_lib_env,pTempStr[500]; + char local_path[MAX_PATH] = ""; + char cmd[256] = ""; + //user_lib_env = getenv("TC_USER_LIB"); + //strcpy(local_path, user_lib_env); + + //iCnt = strlen(user_lib_env); + //while( user_lib_env[iCnt] != '\\' ) + //{ + // iCnt--; + //} + + //strcpy(pTempStr,""); + //strcpy(pTempStr,&user_lib_env[iCnt+1]); + + //if( strcmp(pTempStr,"SubstMacros-MSWord.wsf") != 0 ) + //{ + // strcat( user_lib_env, "\\SubstMacros-MSWord.wsf" ); + //} + + //strcpy( cmd, user_lib_env ); + strcpy( cmd, "SubstMacros-MSWord.wsf" ); + strcat( cmd, " \"" ); + strcat( cmd, temp_file ); + strcat( cmd, "\" \"" ); + strcat( cmd, dat_file ); + strcat( cmd, "\"" ); + printf( "\n%s\n",cmd ); + system( cmd ); +//printf("\n777777777777\n"); + //strcpy(user_lib_env, local_path); + + + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor; + IMF_import_file(temp_file, new_file_name, SS_BINARY, &new_file_tag, &file_descriptor); + IMF_set_original_file_name(new_file_tag, origin_file_name); + IMF_close_file(file_descriptor); + AOM_save(new_file_tag); + AOM_unlock(new_file_tag); + + AOM_lock(spec_dataset_rev); + + AE_remove_dataset_named_ref_by_tag(spec_dataset_rev, ref_name, ref_object); + + AE_add_dataset_named_ref(spec_dataset_rev, ref_name, AE_PART_OF, new_file_tag); + AOM_save(spec_dataset_rev); + AOM_unlock(spec_dataset_rev); + } + return ITK_ok; +} + +int signoff_pdf(tag_t dataset, char *dat_file,char *ext) +{ + tag_t spec_dataset_rev = NULLTAG, + ref_object = NULLTAG; + + AE_reference_type_t reference_type; +printf("\n111111111111\n"); + AE_ask_dataset_latest_rev(dataset, &spec_dataset_rev); + + char ref_name[WSO_name_size_c + 1] = "PDF_Reference"; + printf("\n22222222222\n"); + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if(reference_type == AE_PART_OF) + { + printf("\n3333333333333\n"); + char pathname[SS_MAXPATHLEN] = ""; + IMF_ask_file_pathname(ref_object, SS_WNT_MACHINE, pathname); + char origin_file_name[IMF_filename_size_c + 1] = ""; + IMF_ask_original_file_name(ref_object, origin_file_name); + printf("\n44444444444444\n"); + char new_ds_name[WSO_name_size_c + 1] = ""; + char *new_file_name = USER_new_file_name(new_ds_name, ref_name, ext, 0); + char *temp_dir = getenv("temp"); + printf("\n555555555555\n"); + char temp_file[SS_MAXPATHLEN] = ""; + char temp_file2[SS_MAXPATHLEN] = ""; + strcpy(temp_file, temp_dir); + strcat(temp_file, "\\"); + strcat(temp_file, new_file_name); + + IMF_export_file(ref_object, temp_file); + sprintf(temp_file2,"%s.pdf",temp_file); + //printf("\n66666666666666\n"); + + int iCnt; + char *user_lib_env,pTempStr[500]; + char local_path[MAX_PATH] = ""; + char cmd[256] = ""; + char * tc_root_dir = getenv("tc_root"); + //user_lib_env = getenv("TC_USER_LIB"); + //strcpy(local_path, user_lib_env); + + //iCnt = strlen(user_lib_env); + //while( user_lib_env[iCnt] != '\\' ) + //{ + // iCnt--; + //} + + //strcpy(pTempStr,""); + //strcpy(pTempStr,&user_lib_env[iCnt+1]); + + //if( strcmp(pTempStr,"SubstMacros-MSWord.wsf") != 0 ) + //{ + // strcat( user_lib_env, "\\SubstMacros-MSWord.wsf" ); + //} + strcpy( cmd, "java -jar " ); + strcat( cmd, tc_root_dir ); + strcat( cmd, "\\bin\\JK_PDFSignoff.jar" ); + strcat( cmd, " \"" ); + strcat( cmd, dat_file); + strcat( cmd, "\" \"" ); + strcat( cmd, temp_file); + strcat( cmd, "\" \"" ); + strcat( cmd, temp_file2); + strcat( cmd, "\"" ); + printf( "\n%s\n",cmd ); + system( cmd ); +//printf("\n777777777777\n"); + //strcpy(user_lib_env, local_path); + + + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor; + IMF_import_file(temp_file2, new_file_name, SS_BINARY, &new_file_tag, &file_descriptor); + IMF_set_original_file_name(new_file_tag, origin_file_name); + IMF_close_file(file_descriptor); + AOM_save(new_file_tag); + AOM_unlock(new_file_tag); + + AOM_lock(spec_dataset_rev); + + AE_remove_dataset_named_ref_by_tag(spec_dataset_rev, ref_name, ref_object); + + AE_add_dataset_named_ref(spec_dataset_rev, ref_name, AE_PART_OF, new_file_tag); + AOM_save(spec_dataset_rev); + AOM_unlock(spec_dataset_rev); + } + + return ITK_ok; +} + + +int signoff_msexcel(tag_t dataset, char *dat_file, char *ext) +{ + tag_t spec_dataset_rev = NULLTAG, + ref_object = NULLTAG; + + AE_reference_type_t reference_type; + + AE_ask_dataset_latest_rev(dataset, &spec_dataset_rev); + + char ref_name[WSO_name_size_c + 1] = "excel"; + AE_ask_dataset_named_ref(spec_dataset_rev, ref_name, &reference_type, &ref_object); + if(reference_type == AE_PART_OF) + { + char pathname[SS_MAXPATHLEN] = ""; + IMF_ask_file_pathname(ref_object, SS_WNT_MACHINE, pathname); + char origin_file_name[IMF_filename_size_c + 1] = ""; + IMF_ask_original_file_name(ref_object, origin_file_name); + + char new_ds_name[WSO_name_size_c + 1] = ""; + char *new_file_name = USER_new_file_name(new_ds_name, ref_name, ext, 0); + char *temp_dir = getenv("temp"); + char temp_file[SS_MAXPATHLEN] = ""; + strcpy(temp_file, temp_dir); + strcat(temp_file, "\\"); + strcat(temp_file, new_file_name); + + IMF_export_file(ref_object, temp_file); + + + int iCnt; + char *user_lib_env,pTempStr[500]; + char local_path[MAX_PATH] = ""; + char cmd[256] = ""; + /*user_lib_env = getenv("TC_USER_LIB"); + strcpy(local_path, user_lib_env); + + iCnt = strlen(user_lib_env); + while( user_lib_env[iCnt] != '\\' ) + { + iCnt--; + } + strcpy(pTempStr,""); + strcpy(pTempStr,&user_lib_env[iCnt+1]); + + if( strcmp(pTempStr,"SubstMacros-MSExcel.wsf") != 0 ) + { + strcat( user_lib_env, "\\SubstMacros-MSExcel.wsf" ); + }*/ + //strcpy( cmd, user_lib_env ); + strcpy( cmd, "SubstMacros-MSExcel.wsf" ); + strcat( cmd, " \"" ); + strcat( cmd, temp_file ); + strcat( cmd, "\" \"" ); + strcat( cmd, dat_file ); + strcat( cmd, "\"" ); + printf( "\n%s\n",cmd ); + system( cmd ); + + //strcpy(user_lib_env, local_path); + + + tag_t new_file_tag = NULLTAG; + IMF_file_t file_descriptor; + IMF_import_file(temp_file, new_file_name, SS_BINARY, &new_file_tag, &file_descriptor); + IMF_set_original_file_name(new_file_tag, origin_file_name); + IMF_close_file(file_descriptor); + AOM_save(new_file_tag); + AOM_unlock(new_file_tag); + + AOM_lock(spec_dataset_rev); + //CALL(AOM_load (dataset)); + //CALL(AOM_load(spec_dataset_rev)); + AE_remove_dataset_named_ref_by_tag(spec_dataset_rev, ref_name, ref_object); + AE_add_dataset_named_ref(spec_dataset_rev, ref_name, AE_PART_OF, new_file_tag); + AOM_save(spec_dataset_rev); + AOM_unlock(spec_dataset_rev); + } + + return ITK_ok; +} +/************************************************************************************************* +* t5_signoff_dataset() +* +* Description: +* This handler will set signoff infomation to properties of form +* +* Syntax: +* jf-signoff-dataset +* [-debug=true|false] +* +* -SignName: jf3bianzhi=;jf3drawing=ͼ;jf3review=;jf3reviewdate= +* +* +* -bypass +* Placement: +* no request +* +**************************************************************************************************/ +int t5_signoff_dataset( EPM_action_message_t msg ) +{ + int ifail = ITK_ok, rcode = 0; + // + char arg1value[1024] = "",arg2value[1024] = "",arg3value[1024]="",arg4value[1024]="", + signcounter_info[1024] = "", *value = NULL; + char *argflag =NULL,*argvalue=NULL ,*arg = NULL; + BOOL bypass = FALSE; + int arg_cnt = 0; + //̽ڵ + tag_t root_task = NULLTAG,*sub_tasks = NULL,current_task = NULLTAG,type_tag = NULLTAG; + int sub_task_count = 0; + char root_task_name[128]="",task_name[128] = ""; + int occur_of_counts = 0; + tag_t *taskAttches = NULLTAG; + char tgt_type[WSO_name_size_c+1]="",type_class[TCTYPE_class_name_size_c+1]=""; + ////ѭڲ + tag_t cur_task = NULLTAG; + char task_type[WSO_name_size_c+1] = ""; + //ѭ + int i=0, j=0, k=0, count = 0, n = 0; + //ڵϢ + char sign_info[2048]=""; + //ڵѭ + tag_t itemrevision = NULLTAG,master_form_rel_type = NULLTAG; + char rev_id[ITEM_id_size_c+1]=""; + char item_id[ITEM_id_size_c+1]=""; + int form_count = 0; + tag_t *form_list = NULL,master_form = NULLTAG; + char local_path[128]=""; + //ƽڵ + int s=0; + char *timeinfo2=""; + EPM_decision_t decision = EPM_nogo; + tag_t aUserTag,responsibleParty; + char *userName; + date_t decision_date; + char person_name[SA_name_size_c + 1] = ""; + char *prop_name="last_mod_date"; + //ǩ + int n_prop=0, q = 0; + char **prop_names=NULL, hq_name[128] = "", hq_time_name[128] = "", *hq_value=NULL; + char exclude_type[256]="", item_type[ITEM_type_size_c+ 1]= ""; + tag_t item = NULLTAG; + logical is_sign = false; + + map sign_map; + vector prop_vec; + current_task = msg.task; + //CreateLogFile("PLA8_signoff",&txtfile); + ECHO("=========================================================\n"); + ECHO("t5_signoff_dataset ʼִ\n"); + ECHO("=========================================================\n"); + + arg_cnt = TC_number_of_arguments(msg.arguments); + ECHO("Ϊ%d\n",arg_cnt); + POM_AM__set_application_bypass(true); + if (arg_cnt > 0) + { + for (i=0;i ans,ans1; + Split(argvalue,";",ans); + for( j = 0; j ::iterator it; + for( it = sign_map.begin(); it != sign_map.end(); it ++ ) + { + CAD_ATTR_STRUCT one_elem; + AOM_ask_value_string( master_form, it->first.c_str(), &value); + + one_elem.name = it->second.name; + one_elem.value.assign(value); + it->second = one_elem; + } + DOFREE(form_list); + //formдıļ + string info; + map::iterator buf_it; + for( it = sign_map.begin(); it != sign_map.end(); it ++ ) + { + string valstr=it->second.value; + if(strcmp(valstr.c_str(), "") ==0){ + printf("%sֵ\n",it->second.name.c_str()); + continue; + } + vector valvec; + Split(valstr,";",valvec); + int vecsize= valvec.size(); + if (vecsize>1) + { + + for (int i = 0; i < vecsize; i++) + { + vector valvec1; + Split(valvec[i]," ",valvec1); + int vecsize1= valvec1.size(); + int nameint=i+1; + stringstream ss; + ss<second.name); + info.append(namestr); + info.append("="); + info.append(valvec1[0]); + info.append("|"); + info.append(it->second.name); + info.append(namestr); + info.append(""); + info.append("="); + info.append(valvec1[1]); + info.append("|"); + }else{ + info.append(it->second.name); + info.append(namestr); + info.append("="); + info.append(valvec1[0]); + info.append("|"); + } + + } + + }else + { + + vector valvec1; + + Split(valstr," ",valvec1); + int vecsize1= valvec1.size(); + if (vecsize1==2) + { + info.append(it->second.name); + info.append("="); + info.append(valvec1[0]); + info.append("|"); + info.append(it->second.name); + info.append(""); + info.append("="); + info.append(valvec1[1]); + info.append("|"); + }else{ + info.append(it->second.name); + info.append("="); + info.append(valvec1[0]); + info.append("|"); + } + + /*if (strstr(it->second.name.c_str(),"ǩ")!=NULL) + { + + Split(valstr," ",valvec1); + int vecsize1= valvec1.size(); + if (vecsize1==2) + { + info.append(it->second.name); + info.append("1"); + info.append("="); + info.append(valvec1[0]); + info.append("|"); + info.append(it->second.name); + info.append("1"); + info.append(""); + info.append("="); + info.append(valvec1[1]); + info.append("|"); + }else{ + info.append(it->second.name); + info.append("1"); + info.append("="); + info.append(valvec1[0]); + info.append("|"); + } + }*/ + + + } + } + ECHO("\n info: %s",info.c_str()); + char *data_file = NULL; + create_signinfo_file((char*)info.c_str(),item_id, &data_file); + if( data_file == NULL ) + { + + continue; + } + ECHO("\n ıļ%s\n",data_file); + //ݼ + tag_t relation_type=NULLTAG; + //tag_t attach_relation_type = NULLTAG; + GRM_find_relation_type(TC_specification_rtype, &relation_type); + tag_t *secondary_objects=NULLTAG; + int ds_count = 0; + char *dataset_type = NULL, *desc_value=NULL,*file_path = NULL,*desc_path; + + GRM_list_secondary_objects_only(itemrevision, relation_type, &ds_count, &secondary_objects); + for (int j = 0; j < ds_count; j++) + { + printf("1\n"); + AOM_ask_value_string(secondary_objects[j], "object_type", &dataset_type); + int des_count=0; + tag_t *dess=NULL; + char *name; + /*|| + strcmp(dataset_type, "MSWord") ==0|| + strcmp(dataset_type, "MSWordX") ==0|| + strcmp(dataset_type, "MSExcel") ==0|| + strcmp(dataset_type, "MSExcelX") ==0|| + strcmp(dataset_type, "PDF") ==0)*/ + + if(!strcmp(dataset_type, "T5_ACAD") == 0){ + if(dataset_type!=NULL){ + MEM_free(dataset_type); + dataset_type =NULL; + } + + continue; + } + + + + + AOM_ask_value_tags(secondary_objects[j], "ref_list", &des_count,&dess); + if(des_count<1){ + printf("ݼ\n"); + continue; + } + + printf("ʼж\n"); + if(strcmp(dataset_type, "T5_ACAD") == 0) + { + printf("cad\n"); + // ECHO("dwg...\n"); + // POM_AM__set_application_bypass(true); + // ifail = export_dataset_file(dataset_list[j], "PDF_Reference", "dwg", &filename,&original_name); + if( data_file != NULL ) + signoff_acad(secondary_objects[j],data_file); + } + else if(strcmp(dataset_type, "MSWord") ==0 ) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msword(secondary_objects[j],data_file,"doc"); + } + else if(strcmp(dataset_type, "MSWordX") ==0) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msword(secondary_objects[j],data_file,"docm"); + } + else if(strcmp(dataset_type, "MSExcel") ==0 ) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msexcel(secondary_objects[j],data_file,"xls"); + } + else if(strcmp(dataset_type, "MSExcelX") ==0) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msexcel(secondary_objects[j],data_file,"xlsm"); + }else if(strcmp(dataset_type, "PDF") ==0){ + signoff_pdf(secondary_objects[j],data_file,"pdf"); + } + MEM_free(dataset_type); + + } + DOFREE(secondary_objects); + + GRM_find_relation_type(TC_attaches_rtype, &relation_type); + + GRM_list_secondary_objects_only(itemrevision, relation_type, &ds_count, &secondary_objects); + for (int j = 0; j < ds_count; j++) + { + printf("2\n"); + AOM_ask_value_string(secondary_objects[j], "object_type", &dataset_type); + int des_count=0; + tag_t *dess=NULL; + char *name; + + if(!strcmp(dataset_type, "T5_ACAD") == 0){//ֻжT5_ACAD + if(dataset_type!=NULL){ + MEM_free(dataset_type); + dataset_type =NULL; + } + + continue; + } + AOM_ask_value_tags(secondary_objects[j], "ref_list", &des_count,&dess); + if(des_count<1){ + printf("ݼ\n"); + continue; + } + + if(strcmp(dataset_type, "T5_ACAD") == 0) ////ֻжT5_ACAD + { + // ECHO("dwg...\n"); + // POM_AM__set_application_bypass(true); + // ifail = export_dataset_file(dataset_list[j], "PDF_Reference", "dwg", &filename,&original_name); + if( data_file != NULL ) + signoff_acad(secondary_objects[j],data_file); + } + else if(strcmp(dataset_type, "MSWord") ==0 ) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msword(secondary_objects[j],data_file,"doc"); + } + else if(strcmp(dataset_type, "MSWordX") ==0) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msword(secondary_objects[j],data_file,"docx"); + } + else if(strcmp(dataset_type, "MSExcel") ==0 ) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msexcel(secondary_objects[j],data_file,"xls"); + } + else if(strcmp(dataset_type, "MSExcelX") ==0) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msexcel(secondary_objects[j],data_file,"xlsx"); + }else if(strcmp(dataset_type, "PDF") ==0){ + signoff_pdf(secondary_objects[j],data_file,"pdf"); + } + MEM_free(dataset_type); + } + + DOFREE(secondary_objects); + + GRM_find_relation_type("IMAN_Rendering", &relation_type); + + GRM_list_secondary_objects_only(itemrevision, relation_type, &ds_count, &secondary_objects); + for (int j = 0; j < ds_count; j++) + { + printf("3\n"); + AOM_ask_value_string(secondary_objects[j], "object_type", &dataset_type); + int des_count=0; + tag_t *dess=NULL; + char *name; + + if(!(strcmp(dataset_type, "JK8_AutoCAD") == 0|| + strcmp(dataset_type, "MSWord") ==0|| + strcmp(dataset_type, "MSWordX") ==0|| + strcmp(dataset_type, "MSExcel") ==0|| + strcmp(dataset_type, "MSExcelX") ==0|| + strcmp(dataset_type, "PDF") ==0)){ + if(dataset_type!=NULL){ + MEM_free(dataset_type); + dataset_type =NULL; + } + + continue; + } + AOM_ask_value_tags(secondary_objects[j], "ref_list", &des_count,&dess); + if(des_count<1){ + printf("ݼ\n"); + continue; + } + if(strcmp(dataset_type, "JK8_AutoCAD") == 0) + { + // ECHO("dwg...\n"); + // POM_AM__set_application_bypass(true); + // ifail = export_dataset_file(dataset_list[j], "PDF_Reference", "dwg", &filename,&original_name); + if( data_file != NULL ) + signoff_acad(secondary_objects[j],data_file); + } + else if(strcmp(dataset_type, "MSWord") ==0 ) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msword(secondary_objects[j],data_file,"doc"); + } + else if(strcmp(dataset_type, "MSWordX") ==0) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msword(secondary_objects[j],data_file,"docx"); + } + else if(strcmp(dataset_type, "MSExcel") ==0 ) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msexcel(secondary_objects[j],data_file,"xls"); + } + else if(strcmp(dataset_type, "MSExcelX") ==0) + { + AOM_ask_value_string(dess[0], "original_file_name", &name); + printf("name=%s\n",name); + if ((strstr(name,"docx") != NULL)||(strstr(name,"xlsx") != NULL)){ + printf("׺Ϊdocxxlsx˳\n"); + continue; + } + signoff_msexcel(secondary_objects[j],data_file,"xlsx"); + }else if(strcmp(dataset_type, "PDF") ==0){ + signoff_pdf(secondary_objects[j],data_file,"pdf"); + } + MEM_free(dataset_type); + } + DOFREE(secondary_objects); + + } + } + POM_AM__set_application_bypass(false); + DOFREE(taskAttches); + ECHO("=========================================================\n"); + ECHO("t5_signoff_dataset ִн\n"); + ECHO("=========================================================\n"); + return rcode; +} + + +int Connor_bypass(EPM_action_message_t msg){ + ECHO("==================bypass START =======================\n"); + int ifail = ITK_ok, arg_cnt; + char *argflag =NULL,*argvalue=NULL ,*arg = NULL; + int i=0, j=0; + BOOL bypass = FALSE; + arg_cnt = TC_number_of_arguments(msg.arguments); + ECHO("Ϊ%d\n",arg_cnt); + POM_AM__set_application_bypass(true); + if (arg_cnt > 0) + { + for (i=0;i type_vec; + + //ȡhandlerĸ + arg_cnt = TC_number_of_arguments(msg.arguments); + ECHO("Ϊ%d\n",arg_cnt); + if (arg_cnt > 0) + { + for (i=0;i::iterator it; + it = find(type_vec.begin(),type_vec.end(),type_str); + if(it == type_vec.end()){ + ECHO("Ͳinclude_type\n"); + //strcpy(errs,"ͲĶ!!!"); + //ifail=EPM_nogo ; + break; + } + char * item_id_temp = NULL; + ITKCALL(AOM_ask_value_string(target_tag,"item_id",&item_id_temp)); + if(strcmp(item_id_temp,"E-") == 1 ){ + ECHO("E-ͷϲҪ\n"); + strcpy(errs,"E-ͷϲҪ!!!"); + if(item_id_temp !=NULL){ + MEM_free(item_id_temp); + item_id_temp = NULL; + } + ifail=EPM_nogo ; + break; + } + logical isclassed = false; + logical isFilter = false; + tag_t classification_object = NULLTAG; + + ITKCALL(ICS_is_wsobject_classified(target_tag,&isclassed));//жǷѾ + + if(isclassed){ + //char * icOid = NULL; + //ITKCALL(ICS_ask_classification_object(target_tag,&classification_object)); + + //ITKCALL(ICS_ico_ask_class(classification_object,&icsID)); + printf("\n ѷ͵ \n"); + }else{ + strcpy(errs,"ûз⣬ϵϵͳԱ!!"); + printf("\n ûз͵ \n"); + ifail=EPM_nogo ; + break; + } + + if(item_id_temp !=NULL){ + MEM_free(item_id_temp); + item_id_temp = NULL; + } + } + + + if(ifail==EPM_nogo){ + //PROP_unable_to_set_cp_value ERROR_ERRORSTORE_NOERRORS// + EMH_store_error_s1(EMH_severity_user_error,919002,errs);//󵯴 + } + + + ECHO("==================ĿеǷͷ END =======================\n"); + return ifail; +} + +/** +* ǩ֪ͨڵ +*/ +int tm_sign_tongzhi2( EPM_rule_message_t msg ){ + ECHO("==================ĿеļмǷж START =======================\n"); + int ifail = EPM_nogo,count = 0,i = 0; + tag_t root_task = NULL_TAG; + tag_t * attachments = NULL; + ITKCALL(EPM_ask_root_task(msg.task,&root_task)); + ITKCALL(EPM_ask_attachments(root_task,EPM_target_attachment,&count,&attachments)); + for(i = 0 ;i < count;i++){ + tag_t type_tag = NULL_TAG; + ITKCALL(TCTYPE_ask_object_type(attachments[i],&type_tag)); + tag_t folder_type = NULLTAG; + ITKCALL(TCTYPE_find_type("Folder","",&folder_type)); + if(folder_type != NULLTAG){ + //printf(" find Folder type ok !!!! \n"); + logical isok = FALSE; + ITKCALL(TCTYPE_is_type_of(type_tag,folder_type,&isok)); + if(isok){ + int contents_count = 0; + tag_t * contents_tags = NULL; + ITKCALL(AOM_ask_value_tags(attachments[i],"contents",&contents_count,&contents_tags)); + if(contents_count == 0){ + ifail = EPM_nogo; + //break; + } + // else{ + // for(int j = 0 ; j < contents_count;j++){ + // int release_count = 0; + // tag_t * release_tags = NULL; + // ITKCALL(AOM_ask_value_tags(contents_tags[j],"release_status_list",&release_count,&release_tags)); + // //if(release_count == 0){ + // // ifail = EPM_nogo; + // // //break; + // //}else{ + // // ifail = EPM_go; + // //} + // if(release_tags!=NULL){ + // MEM_free(release_tags); + // release_tags = NULL; + // } + // if(ifail == EPM_nogo){ + // break; + // } + // } + // + // } + if(contents_tags!=NULL){ + MEM_free(contents_tags); + contents_tags = NULL; + } + if(ifail == EPM_nogo){ + break; + } + } + } + } + if(attachments!=NULL){ + MEM_free(attachments); + attachments = NULL; + } + ECHO("==================ĿеļмǷж END =======================\n"); + return ifail; +} diff --git a/T5Sign_ITK/erp_utils.cxx b/T5Sign_ITK/erp_utils.cxx new file mode 100644 index 0000000..4ab971f --- /dev/null +++ b/T5Sign_ITK/erp_utils.cxx @@ -0,0 +1,27 @@ + +#pragma warning (disable: 4996) +#pragma warning (disable: 4819) + + +#include "erp_utils.h" +#include "common_itk_util.h" +using namespace std; + + +int getPrefStrings( const char *preference, TC_preference_search_scope_t scope, vector &pref_vec ) +{ + int ifail = ITK_ok , i = 0, j = 0, k =0, num = 0; + char **values; + TC_preference_search_scope_t old_scope; + ITKCALL( ifail = PREF_ask_search_scope( &old_scope) ); + ITKCALL( ifail = PREF_set_search_scope( scope ) ); + ITKCALL( ifail = PREF_ask_char_values( preference, &num, &values ) ); + WriteLog("num=%d",num); + for(i = 0; i < num; i++) + { + pref_vec.push_back(values[i]); + } + DOFREE(values); + ITKCALL( ifail = PREF_set_search_scope( old_scope ) ); + return ifail; +} \ No newline at end of file diff --git a/T5Sign_ITK/erp_utils.h b/T5Sign_ITK/erp_utils.h new file mode 100644 index 0000000..e59162a --- /dev/null +++ b/T5Sign_ITK/erp_utils.h @@ -0,0 +1,93 @@ +/** +* @addtogroup batch service +* @{ +*/ + +/** +* @file erp_utils.h +* +* @brief import item from middle table +* +* @author Ray Li +* +* @history +* =================================================================================== +* Date Name Description of Change +* 3-Feb-2015 Ray created +*/ + + +/** +* @headerfile tcua ͷļ +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +/** +* @headerfile standard c & cpp header files +*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +//erp table name + + +//error +#define ERROR_PREFERENCE_ERROR (EMH_USER_error_base + 1) +#define ERROR_ERP_LOGIN_FAIL (EMH_USER_error_base + 2) + +//ERP +#define ERROR_OCI_FAIL (EMH_USER_error_base + 11) + + +#ifdef __cplusplus +extern "C" +{ +#endif + + + + +int getPrefStrings( const char *preference, TC_preference_search_scope_t scope, vector &pref_vec ); + +#ifdef __cplusplus +} +#endif + diff --git a/T5Sign_ITK/error_handling.h b/T5Sign_ITK/error_handling.h new file mode 100644 index 0000000..05d9d62 --- /dev/null +++ b/T5Sign_ITK/error_handling.h @@ -0,0 +1,162 @@ +/*! +* @addtogroup common +* \file error_handling.h +* \brief +* \date 2008/6/10 +* \author Ray Li +*/ + +#ifndef SIMPLE_ERR_H_INCLUDED +#define SIMPLE_ERR_H_INCLUDED + + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#define BUFSIZE 512 + + +// +#define HANDLER_ARGUMENT_ERROR EMH_USER_error_base + 1 +//#define WORKFLOW_NODE_IS_NOT_VALID EMH_USER_error_base + 2 + +#define ERROR_STATUS_ERROR EMH_USER_error_base + 2 +//#define HANDLER_PLACED_INVALID EMH_USER_error_base + 3 +// +////user errors define +////վļȱ %1$ ã +//#define ERROR_PREFERENCE_NOT_FOUND (EMH_USER_error_base + 100) + + +#define DOFREE(obj) \ +{ \ + if(obj) \ + { \ + MEM_free(obj); \ + obj = NULL; \ + } \ +} + + + +//#define ECHO(X) printf X; +#define SYS_LOG(X) IMAN_write_syslog X; +#define LOG_ECHO(X) printf X; IMAN_write_syslog X; + + + +/*! +* \def CALL(x) +* ӡϢ +*/ +#define CALL(x) { \ + int stat; \ + char *err_string; \ + if( (stat = (x)) != ITK_ok) \ + { \ + EMH_ask_error_text (stat, &err_string); \ + LOG_ECHO( ("ERROR: %d ERROR MSG: %s.\n",stat, err_string) ) \ + LOG_ECHO( ("Function: %s FILE: %s LINE: %d\n", #x, __FILE__, __LINE__ ) ) \ + MEM_free (err_string); \ + return (stat); \ + } \ +} + +/*! +* \def DO(x) +* ӡϢ +*/ +#define DO(x) { \ + int stat; \ + char *err_string; \ + if( (stat = (x)) != POM_ok) \ + { \ + EMH_ask_error_text (stat, &err_string); \ + printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \ + printf ("Function: %s FILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \ + MEM_free (err_string); \ + } \ +} + +/*! +* \def CALLRNULL(x) +* ӡϢ +*/ +#define CALLRNULL(x) { \ + int stat; \ + char *err_string; \ + if( (stat = (x)) != ITK_ok) \ + { \ + EMH_ask_error_text (stat, &err_string); \ + printf ("ERROR: %d ERROR MSG: %s.\n", stat, err_string); \ + printf ("Function: %s FILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \ + MEM_free (err_string); \ + return ((char *)NULL); \ + } \ +} + +/*! +* \def CALL2(x) +* ӡϢ +*/ +#define CALL2(x) { \ + int stat, n_ifails, *serverities, *ifails, err_count; \ + char *err_string, **texts; \ + if( (stat = (x)) != ITK_ok) \ + { \ + printf ("Function: %s FILE: %s LINE: %d\n",#x, __FILE__, __LINE__); \ + EMH_ask_errors( &n_ifails, (const int**)(&serverities), (const int**)(&ifails), (const char***)(&texts) );\ + for( err_count=0; err_count +#include +#include +#include "error_handling.h" +#include "epm_register_handler.h" +#include "epm_handler_common.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + + /** + * @fn extern "C" DLLAPI int liborigin_register_callbacks + * @return usually return ITK_ok + * @brief liborigin customization entry + * ˺й淶дdllƼ"_"ͷ + */ + DLLAPI int T5Sign_itk_register_callbacks() + { + int ifail = ITK_ok; + TC_write_syslog("*******************************************************************************\n"); + TC_write_syslog("* T5_itk register_callbacks is starting *\n"); + TC_write_syslog("*******************************************************************************\n"); + + + ITKCALL( ifail = CUSTOM_register_exit( "T5Sign_itk", "USERSERVICE_register_methods", + (CUSTOM_EXIT_ftn_t)USERSERVICE_custom_register_methods) ); + fprintf( stdout, "\n T5Sign_itk registering USERSERVICE_custom_register_methods completed!\n" ); + + + ITKCALL( ifail = CUSTOM_register_exit("T5Sign_itk","USER_gs_shell_init_module", + (CUSTOM_EXIT_ftn_t)USERSERVICE_custom_register_handlers) ); + fprintf( stdout, "\n T5Sign_itk registering USERSERVICE_custom_register_handlers completed!\n" ); + + + return ifail; + } + +#ifdef __cplusplus +} +#endif \ No newline at end of file diff --git a/T5Sign_ITK/small.ico b/T5Sign_ITK/small.ico new file mode 100644 index 0000000..d551aa3 Binary files /dev/null and b/T5Sign_ITK/small.ico differ diff --git a/T5Sign_ITK/space_node.cpp b/T5Sign_ITK/space_node.cpp new file mode 100644 index 0000000..7454c36 --- /dev/null +++ b/T5Sign_ITK/space_node.cpp @@ -0,0 +1,216 @@ +#include "epm_handler_common.h" +#include "error_handling.h" +#include "common_itk_util.h" +#include "string_utils.h" +#include "tccore\iman_msg.h" +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace std; + +extern "C" int POM_AM__set_application_bypass(logical bypass); + + +int t5_Space_node(EPM_action_message_t msg){ + + printf("===================================\n"); + printf("ռڵ ʼ\n"); + printf("===================================\n"); + + int ifail = ITK_ok; + int att_cnt=0,isas=0; + tag_t task_tag = NULLTAG, + root_task_tag=NULLTAG, + *attachments=NULL; + + + char arg1value[1024] = "", + signcounter_info[1024] = ""; + char *argflag =NULL,*argvalue=NULL ,*arg = NULL; + int arg_cnt = 0; + int arg_col=0; + + + //ȡhandlerIJĸ + arg_cnt = TC_number_of_arguments(msg.arguments); + ECHO("[info]:Ϊ%d\n",arg_cnt); + + task_tag = msg.task; + + EPM_ask_root_task(task_tag, &root_task_tag); + EPM_ask_attachments(root_task_tag, EPM_target_attachment, &att_cnt, &attachments); + if(att_cnt>0){ + for (int i = 0; i < att_cnt; i++) + { + tag_t tagt=NULLTAG; + char* type=NULL; + int tag_col=0; + tagt=attachments[i]; + ITKCALL(AOM_ask_value_string(tagt,"object_type",&type)); + printf("[info]::%s\n",type); + if (strcmp(type,"T5_JJProcessRevision")==0||strcmp(type,"T5_ZLProcessRevision")==0) + { + printf("[info]:ͷ\n"); + int n_parents=0,*levels=0 ; + tag_t* parents ; + ITKCALL(PS_where_used_all(tagt,1,&n_parents,&levels,&parents)); + printf("[info]:ʹ:%d\n",n_parents); + if (n_parents>0) + { + for (int j = 0; j < n_parents; j++) + { + char* futype=NULL; + ITKCALL(AOM_ask_value_string(parents[j],"object_type",&futype)); + printf("[info]::%s lev=%d\n",futype,levels[j]); + if (strcmp(futype,"T5_ZMEProcessRevision")==0)//MEProcessRevision T5_HZMEProcessRevision + { + printf("Ȩ\n"); + POM_AM__set_application_bypass(true); + int epmtype=EPM_reference_attachment; + ITKCALL(EPM_add_attachments(root_task_tag,1,&parents[j],&epmtype));//ӵ + + printf("سȨ\n"); + POM_AM__set_application_bypass(false); + } + + if(futype !=NULL){ + MEM_free(futype); + futype = NULL; + } + } + } + + + } + + + + if(type !=NULL){ + MEM_free(type); + type = NULL; + } + + /*int task_c=0,c_task_c=0; + tag_t *task_tags,*c_task_tags; + + ITKCALL(AOM_ask_value_tags(root_task_tag,"fnd0StartedTasks",&task_c,&task_tags)); + printf("task_c:%d\n",task_c); + if (task_c>0) + { + ITKCALL(AOM_ask_value_tags(task_tags[0],"child_tasks",&c_task_c,&c_task_tags)); + } + printf("c_task_c:%d\n",c_task_c);*/ + tag_t validuser=NULLTAG; + char *task_type_s; + ITKCALL(AOM_ask_value_string(task_tag,"task_type",&task_type_s)); + if(strcmp(task_type_s,"EPMPerformSignoffTask")==0){ + int valid_num=0; + tag_t *valid_tags; + ITKCALL(AOM_ask_value_tags(task_tag,"valid_signoffs",&valid_num,&valid_tags)); + for (int in=0;in + +// C ʱͷļ +#include +#include +#include +#include + + +// TODO: ڴ˴óҪͷļ diff --git a/T5Sign_ITK/string_helper.cpp b/T5Sign_ITK/string_helper.cpp new file mode 100644 index 0000000..553e6f3 --- /dev/null +++ b/T5Sign_ITK/string_helper.cpp @@ -0,0 +1,146 @@ +/** +* @file string_helper.cpp +* @brief string utility functions' implemention +* @author James +* @history +* =================================================================================== +* Date Name Description of Change +* 09-July-2008 James +* 14-Jau-2009 James modify Split functions, add trim blank characters +*/ +#pragma warning(disable:4996) +// +//#include +//#include +//#include +#include "string_helper.h" + +string TrimString( string strArg ) +{ + size_t index1 = 0; + index1 = strArg.find_first_not_of( ' '); + if( index1 != string::npos ) + strArg.erase( strArg.begin(), strArg.begin()+index1 ); + index1 = strArg.find_last_not_of( ' '); + if( index1 != string::npos ) + strArg.erase( strArg.begin() + index1 + 1 ); + return strArg; +} + +void Split( string strArg, char spliter, vector &ans ) +{ + ans.clear(); + size_t index0 = 0; + string one_arg; + if ( strArg.find_first_not_of(' ') == string::npos ) + strArg = ""; + while( strArg.size()>0 ) + { + index0 = strArg.find_first_of( spliter ); + if( index0 != string::npos ) + { + one_arg = strArg.substr( 0,index0 ); + strArg = strArg.substr( index0 + 1 ); + ans.push_back( one_arg ); + } + else + { + ans.push_back( strArg ); + break; + } + } +} + +void Split( string strArg, string spliter, vector &ans ) +{ + + ans.clear(); + + size_t index0; + string one_arg; + + if ( strArg.find_first_not_of(" ") == string::npos ) + strArg = ""; + + + while( strArg.size()>0 ) + { + + index0 = strArg.find(spliter); + + if( index0 != string::npos ) + { + + one_arg = strArg.substr( 0, index0 ); + strArg = strArg.substr( index0 + spliter.size() ); + + ans.push_back( one_arg ); + } + else + { + + ans.push_back( strArg ); + break; + } + } +} + + +void RemoveLiner( string &in, string &out ) +{ + char buf[BUFSIZ] = ""; + for( int i=0; i<(int)in.size(); i++ ) + { + if( in[i] == '\n') + continue; + else + sprintf( buf,"%s%c", buf, in[i] ); + } + out.assign(buf); +} + +////Converting a WChar string to a Ansi string +//std::string WChar2Ansi(LPCWSTR pwszSrc) +//{ +// int nLen = WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, NULL, 0, NULL, NULL); +// +// if (nLen<= 0) return std::string(""); +// +// char* pszDst = new char[nLen]; +// if (NULL == pszDst) return std::string(""); +// +// WideCharToMultiByte(CP_ACP, 0, pwszSrc, -1, pszDst, nLen, NULL, NULL); +// pszDst[nLen -1] = 0; +// +// std::string strTemp(pszDst); +// delete [] pszDst; +// +// return strTemp; +//} +// +//string ws2s(wstring& inputws){ return WChar2Ansi(inputws.c_str()); } +// +////Converting a Ansi string to WChar string +//std::wstring Ansi2WChar(LPCSTR pszSrc, int nLen) +//{ +// int nSize = MultiByteToWideChar(CP_ACP, 0, (LPCSTR)pszSrc, nLen, 0, 0); +// if(nSize <= 0) return NULL; +// +// WCHAR *pwszDst = new WCHAR[nSize+1]; +// if( NULL == pwszDst) return NULL; +// +// MultiByteToWideChar(CP_ACP, 0,(LPCSTR)pszSrc, nLen, pwszDst, nSize); +// pwszDst[nSize] = 0; +// +// if( pwszDst[0] == 0xFEFF) // skip Oxfeff +// for(int i = 0; i < nSize; i ++) +// pwszDst[i] = pwszDst[i+1]; +// +// wstring wcharString(pwszDst); +// delete pwszDst; +// +// return wcharString; +//} +// +//std::wstring s2ws(const string& s){ return Ansi2WChar(s.c_str(),s.size());} + diff --git a/T5Sign_ITK/string_helper.h b/T5Sign_ITK/string_helper.h new file mode 100644 index 0000000..b4f7532 --- /dev/null +++ b/T5Sign_ITK/string_helper.h @@ -0,0 +1,25 @@ +/** +* @file string_helper.h +* @brief string utilities to help dealing with string +* @author James +* @history +* =================================================================================== +* Date Name Description of Change +* 09-July-2008 James +*/ + +#ifndef STRING_HELPER +#define STRING_HELPER + +#include +#include +using namespace std; + +string TrimString( string strArg ); +void Split( string strArg, char spliter, vector &ans ); +void Split( string strArg, string spliter, vector &ans ); +void RemoveLiner( string &in, string &out ); +//string ws2s(wstring& inputws); +//wstring s2ws(const string& s); + +#endif \ No newline at end of file diff --git a/T5Sign_ITK/string_utils.cxx b/T5Sign_ITK/string_utils.cxx new file mode 100644 index 0000000..9f6b79a --- /dev/null +++ b/T5Sign_ITK/string_utils.cxx @@ -0,0 +1,253 @@ +/*================================================================================================================== + Copyright(c) 2012 ORIGIN. + Unpublished - All rights reserved +==================================================================================================================== +File description: + Filename: string_utils.c + Module : Common module. + + This file includes some operations of the string. + +==================================================================================================================== +Date Name Description of Change +3-Feb-2015 Ray li Initialize creation +$HISTORY$ +===================================================================================================================*/ +#ifndef _cplusplus +#ifndef _CRT_SECURE_NO_DEPRECATE +#define _CRT_SECURE_NO_DEPRECATE +#endif +#endif + +#include +#include +#include +#include +#include +#include + +#include "string_utils.h" + +void Split( string strArg, string spliter, vector &ans ) +{ + ans.clear(); + size_t index0; + string one_arg; + if ( strArg.find_first_not_of(' ') == string::npos ) + strArg = ""; + while( strArg.size()>0 ) + { + index0 = strArg.find(spliter); + if( index0 != string::npos ) + { + one_arg = strArg.substr( 0, index0 ); + strArg = strArg.substr( index0 + spliter.size() ); + ans.push_back( one_arg ); + } + else + { + ans.push_back( strArg ); + break; + } + } +} +char* GSTR_clone( char **dst, const char *src ) +{ + char *retVal = NULL; + int srcLen = 0; + + *dst = NULL; + if (src == NULL) + return NULL; + + srcLen = (int)tc_strlen( src ) + 1; + *dst = (char*)MEM_alloc( srcLen * sizeof(char) ); + retVal = tc_strncpy( *dst, src, srcLen ); + (*dst)[srcLen - 1] = '\0'; + + return retVal; +} + +char* GSTR_copy( char *dst, const char *src, int dstSize ) +{ + char *retVal = tc_strncpy( dst, src, dstSize ); + dst[dstSize - 1] = '\0'; + return retVal; +} + +char* GSTR_int_to_string( char **dst, int value ) +{ + char strVal[128 + 1]; + + *dst = NULL; + memset( strVal, 0, sizeof(strVal)/sizeof(char) ); + sprintf( strVal, "%d", value ); + + return GSTR_clone( dst, strVal ); +} + +void GSTR_format_int_to_string( char *dst, int digitNum, int value ) +{ + char sNum[WSO_desc_size_c + 1]; + sprintf( sNum, "%%0%dd", digitNum ); + sprintf( dst, sNum, value ); +} + +void GSTR_format_string( const char *dst, int m, const char *fill_char, char **out ) +{ + char sNum[WSO_name_size_c + 1] = {0}; + char sNew[WSO_name_size_c + 1] = {0}; + sprintf( sNum, "%%%d.%ds", m, m ); + sprintf( sNew, sNum, dst ); + STRNG_replace_str( sNew, " ", fill_char, out ); +} + + +char* GSTR_string_append( const char *s1, const char *s2 ) +{ + char *s = NULL; + if (s1 == NULL || s2 == NULL) + { + GSTR_clone(&s, s1 == NULL ? (s2 == NULL ? "" : s2) : s1 ); + } + else + { + int size = (int)tc_strlen(s1) + (int)tc_strlen(s2) + 1; + s = (char *)MEM_alloc( size ); + tc_strcpy( s, s1 ); + tc_strcat( s, s2 ); + s[size - 1] = '\0'; + } + return s; +} + +logical GSTR_is_float(const char *str) +{ + logical isfloat = true; + char *pStr = (char *)str; + logical hasPositive = false; + logical hasMinus = false; + logical hasDot = false; + + if (str == NULL) + return false; + + while (*pStr != '\0' && isfloat == true) + { + if ( (*pStr >= '0' && *pStr <= '9')) + { + //continue; + } + else if ( *pStr == '+' ) + { + isfloat = (hasPositive ? false : (hasPositive = true)); + } + else if ( *pStr == '-' ) + { + isfloat = (hasMinus ? false : (hasMinus = true)); + } + else if ( *pStr == '.' ) + { + isfloat = (hasDot ? false : (hasDot = true)); + } + else + isfloat = false; + + pStr ++; + } + return isfloat; +} + +logical GSTR_is_number(const char *str) +{ + logical is_number = true; + char *pStr = (char *)str; + if (str == NULL) + return false; + + while (*pStr != '\0') + { + if ( !( (*pStr >= '0' && *pStr <= '9') || *pStr == '-' ) ) + { + is_number = false; + break; + } + pStr ++; + } + return is_number; +} + +logical GSTR_is_ascii(char ch) +{ + return ((unsigned int)ch) < 128; +} + +int GSTR_trim_l( char *str, char s ) +{ + int count = 0; + char *pointer = str, *poffset = NULL; + if (str == NULL || str[0] == '\0') + return 0; + + while ( *pointer != '\0' ) + { + if ( *pointer != s ) + { + break; + } + count++; + pointer++; + } + if (count == 0) + return 0; + + poffset = str + count; + pointer = str; + while ( *poffset != '\0' ) + { + *pointer = *poffset; + pointer ++; + poffset ++; + } + *pointer = '\0'; + + return count; +} + +int GSTR_trim_r( char *str, char s ) +{ + int count = 0; + char *pointer = NULL; + if (str == NULL || str[0] == '\0') + return 0; + + pointer = str + ((int) strlen(str) - 1); + + while ( pointer != str ) + { + if ( *pointer != s ) + { + break; + } + + *pointer = '\0'; + + count++; + pointer--; + } + + return count; +} + +void GSTR_trim_float( char *floatValue ) +{ + if ( !IS_EMPTY(floatValue) && tc_strstr(floatValue, ".") != NULL ) + { + int len = 0; + GSTR_trim_r(floatValue, '0'); + len = (int)tc_strlen(floatValue); + if (floatValue[ len - 1 ] == '.') + floatValue[ len - 1 ] = '\0'; + } +} + diff --git a/T5Sign_ITK/string_utils.h b/T5Sign_ITK/string_utils.h new file mode 100644 index 0000000..4b379cc --- /dev/null +++ b/T5Sign_ITK/string_utils.h @@ -0,0 +1,125 @@ +/*===================================================================================================================== + Copyright(c) 2005 ORIGIN PLM Software Corp. All rights reserved. + Unpublished - All rights reserved +======================================================================================================================= +File description: + Filename: string_utils.h + Module : Common module. + + This file includes some operations of the string. + +======================================================================================================================= +Date Name Description of Change +14-Jul-2009 Ray Li Initialize creation +$HISTORY$ +=====================================================================================================================*/ +#ifndef STRING_UTILS_H +#define STRING_UTILS_H +#include +#include +#include +using namespace std; +#ifdef __cplusplus + extern "C" + { +#endif + +// @{{ String assister +#define IS_NULL(S) ((S)==NULL) +#define IS_EMPTY(S) (((S)==NULL) || !(*(S))) +// @}} + void Split( string strArg, string spliter, vector &ans ); + /** + * Clones the string. + * @param dst - the output string. + * @param src - the string to be cloned. + * @return - the destinatin string pointer. + */ + extern char* GSTR_clone( char **dst, const char *src ); + + /** + * Copy safely the string with null end. + * @param dst - the output string. + * @param src - the string to be cloned. + * @param dstSize - the size of output string. + * @return - the destinatin string pointer. + */ + extern char *GSTR_copy( char *dst, const char *src, int dstSize ); + + /** + * Converts int to string. + * @param dst - the output string. + * @param value - the int to be cloned. + * @return - the destinatin string pointer. + */ + extern char* GSTR_int_to_string( char **dst, int value ); + + /** + * Formats the int/string value as string. + * @param dst - the destination string. + * @param digitNum - the digit number of the value. + * @param value - the value to be converted. + * @return - N/A. + */ + extern void GSTR_format_int_to_string( char *dst, int digitNum, int value ); + extern void GSTR_format_string( const char *dst, int m, const char *fill_char, char **out ); + + /** + * Appends the strings( never null returned ) + * @param s1 - string 1 + * @param s2 - string 2 + * @return - new string + */ + extern char* GSTR_string_append( const char *s1, const char *s2 ); + + /** + * Whether the string is float type + * @param str - The string + * + * NOTE: it's only check whether each word is in "+-.0123456789", not care the float with "E" or the float rule, + * like "00-1.+01", it will return true. + * @return - return true if it is one. + */ + extern logical GSTR_is_float(const char *str); + + /** + * Whether all char of the string are number + * @param str - The string + * + * NOTE: it's only check whether each word is in "0123456789" + * @return - return true if it is one. + */ + extern logical GSTR_is_number(const char *str); + + /** + * Is ascii char + * @param ch - ascii char + * @return - return true if it is. + */ + extern logical GSTR_is_ascii(char ch); + + /** + * Trims the string's prefix. + * @param str - The string + * @param s - The char + * + * @return - count. + */ + extern int GSTR_trim_l( char *str, char s ); + extern int GSTR_trim_r( char *str, char s ); + + /** + * Remove the zero. + * For Example: + * floatValue="50.00" -> = "50" + * floatValue="50.0100" -> = "50.01" + * @return - count. + */ + extern void GSTR_trim_float( char *floatValue ); + +#ifdef __cplusplus + } +#endif + + +#endif //STRING_UTILS_H diff --git a/T5Sign_ITK/x64/Release/BuildLog.htm b/T5Sign_ITK/x64/Release/BuildLog.htm new file mode 100644 index 0000000..dd7a7dc Binary files /dev/null and b/T5Sign_ITK/x64/Release/BuildLog.htm differ diff --git a/T5Sign_ITK/x64/Release/CL.read.1.tlog b/T5Sign_ITK/x64/Release/CL.read.1.tlog new file mode 100644 index 0000000..ca5d2d2 Binary files /dev/null and b/T5Sign_ITK/x64/Release/CL.read.1.tlog differ diff --git a/T5Sign_ITK/x64/Release/CL.write.1.tlog b/T5Sign_ITK/x64/Release/CL.write.1.tlog new file mode 100644 index 0000000..593afc4 Binary files /dev/null and b/T5Sign_ITK/x64/Release/CL.write.1.tlog differ diff --git a/T5Sign_ITK/x64/Release/HS_pdf_signoff.obj b/T5Sign_ITK/x64/Release/HS_pdf_signoff.obj new file mode 100644 index 0000000..6f468e9 Binary files /dev/null and b/T5Sign_ITK/x64/Release/HS_pdf_signoff.obj differ diff --git a/T5Sign_ITK/x64/Release/HS_set_signoff.obj b/T5Sign_ITK/x64/Release/HS_set_signoff.obj new file mode 100644 index 0000000..6b29868 Binary files /dev/null and b/T5Sign_ITK/x64/Release/HS_set_signoff.obj differ diff --git a/T5Sign_ITK/x64/Release/PX_CaxaToPDF.obj b/T5Sign_ITK/x64/Release/PX_CaxaToPDF.obj new file mode 100644 index 0000000..54d92b8 Binary files /dev/null and b/T5Sign_ITK/x64/Release/PX_CaxaToPDF.obj differ diff --git a/T5Sign_ITK/x64/Release/T5Sign_ITK.Build.CppClean.log b/T5Sign_ITK/x64/Release/T5Sign_ITK.Build.CppClean.log new file mode 100644 index 0000000..eaa0be8 --- /dev/null +++ b/T5Sign_ITK/x64/Release/T5Sign_ITK.Build.CppClean.log @@ -0,0 +1,45 @@ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\T5SIGN_ITK.PCH +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\STDAFX.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\VC110.PDB +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\SPACE_NODE.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\ERP_UTILS.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\EPM_SIGNOFF_DATASET.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\EPM_SIGN_REV.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\EPM_REGISTER_HANDLER.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\CONNOR_UTIL.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\CLEAR_FORM_PROP.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\STRING_UTILS.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\STRING_HELPER.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\LIB_CUSTOM_MAIN.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\T5SIGN_ITK.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\HS_SET_SIGNOFF.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\HS_PDF_SIGNOFF.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\COMMON_ITK_UTIL.OBJ +C:\USERS\ADMINISTRATOR\DESKTOP\T5SIGN_ITK\T5SIGN_ITK\X64\RELEASE\T5SIGN_ITK.RES +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\clear_form_prop.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\common_itk_util.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\connor_util.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\epm_register_handler.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\epm_signoff_dataset.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\epm_sign_rev.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\erp_utils.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\HS_pdf_signoff.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\HS_set_signoff.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\lib_custom_main.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\space_node.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\stdafx.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\string_helper.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\string_utils.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\T5Sign_ITK.obj +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\cl.command.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\CL.read.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\CL.write.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\link.command.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\link.read.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\link.write.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\rc.command.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\rc.read.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\rc.write.1.tlog +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\T5Sign_ITK.res +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\T5Sign_ITK.pch +Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\x64\Release\vc110.pdb diff --git a/T5Sign_ITK/x64/Release/T5Sign_ITK.lastbuildstate b/T5Sign_ITK/x64/Release/T5Sign_ITK.lastbuildstate new file mode 100644 index 0000000..94b891f --- /dev/null +++ b/T5Sign_ITK/x64/Release/T5Sign_ITK.lastbuildstate @@ -0,0 +1,2 @@ +#v4.0:v110:false +Release|x64|Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\| diff --git a/T5Sign_ITK/x64/Release/T5Sign_ITK.log b/T5Sign_ITK/x64/Release/T5Sign_ITK.log new file mode 100644 index 0000000..4a1f071 --- /dev/null +++ b/T5Sign_ITK/x64/Release/T5Sign_ITK.log @@ -0,0 +1,460 @@ +生成启动时间为 2024/6/27 16:49:17。 + 1>项目“Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\T5Sign_ITK.vcxproj”在节点 2 上(Rebuild 个目标)。 + 1>ClCompile: + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\CL.exe /c /I"Z:\D-2\WorkEnvironment\tc8ITK\include" /I"Z:\D-2\WorkEnvironment\tc8ITK\include_cpp" /Zi /nologo /W3 /WX- /O2 /GL /D WIN32 /D NDEBUG /D _WINDOWS /D IPLIB=none /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Yc"stdafx.h" /Fp"x64\Release\T5Sign_ITK.pch" /Fo"x64\Release\\" /Fd"x64\Release\vc110.pdb" /Gd /TP /errorReport:prompt stdafx.cpp + stdafx.cpp + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\CL.exe /c /I"Z:\D-2\WorkEnvironment\tc8ITK\include" /I"Z:\D-2\WorkEnvironment\tc8ITK\include_cpp" /Zi /nologo /W3 /WX- /O2 /GL /D WIN32 /D NDEBUG /D _WINDOWS /D IPLIB=none /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"x64\Release\\" /Fd"x64\Release\vc110.pdb" /Gd /TP /errorReport:prompt HS_pdf_signoff.cpp HS_set_signoff.cpp PX_CaxaToPDF.cpp T5Sign_ITK.cpp lib_custom_main.cpp string_helper.cpp string_utils.cxx clear_form_prop.cpp connor_util.cpp epm_register_handler.cpp epm_sign_rev.cxx epm_signoff_dataset.cxx erp_utils.cxx space_node.cpp + HS_pdf_signoff.cpp + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>HS_pdf_signoff.cpp(138): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(153): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(165): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\time.inl(112) : 参见“localtime”的声明 + 1>HS_pdf_signoff.cpp(167): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_pdf_signoff.cpp(250): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(251): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(252): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(253): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(260): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(260): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_pdf_signoff.cpp(261): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(262): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(263): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(218) : 参见“fopen”的声明 + 1>HS_pdf_signoff.cpp(286): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_pdf_signoff.cpp(290): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(291): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(292): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(295): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(357) : 参见“sprintf”的声明 + 1>HS_pdf_signoff.cpp(298): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(357) : 参见“sprintf”的声明 + 1>HS_pdf_signoff.cpp(302): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_pdf_signoff.cpp(303): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(304): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(305): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(306): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(307): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(308): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(309): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(310): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(311): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(312): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(313): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(314): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(318): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(319): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(345): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(346): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(348): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_pdf_signoff.cpp(349): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_pdf_signoff.cpp(193): warning C4101: “desc_path”: 未引用的局部变量 + HS_set_signoff.cpp + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>HS_set_signoff.cpp(189): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(243): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(244): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(250): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(251): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(257): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(258): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(260): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(261): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(263): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(264): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(272): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(275): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(278): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(281): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(286): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(293): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(293): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_set_signoff.cpp(294): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(295): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(296): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(218) : 参见“fopen”的声明 + 1>HS_set_signoff.cpp(321): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(322): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(333): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(334): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(347): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(348): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(361): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(362): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(377): warning C4996: 'getenv': This function or variable may be unsafe. Consider using _dupenv_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdlib.h(449) : 参见“getenv”的声明 + 1>HS_set_signoff.cpp(385): warning C4996: 'localtime': This function or variable may be unsafe. Consider using localtime_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\time.inl(112) : 参见“localtime”的声明 + 1>HS_set_signoff.cpp(386): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(357) : 参见“sprintf”的声明 + 1>HS_set_signoff.cpp(387): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(408): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(413): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(425): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(427): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(429): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(431): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(433): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>HS_set_signoff.cpp(435): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(437): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(439): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(457): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(458): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(459): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(460): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>HS_set_signoff.cpp(461): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + PX_CaxaToPDF.cpp + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>PX_CaxaToPDF.cpp(36): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(41): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(44): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(49): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(52): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(57): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(60): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(65): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(68): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(73): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(76): warning C4996: 'stricmp': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _stricmp. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(249) : 参见“stricmp”的声明 + 1>PX_CaxaToPDF.cpp(81): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(134): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(141): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 + 1>PX_CaxaToPDF.cpp(142): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(148): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(149): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(150): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 + 1>PX_CaxaToPDF.cpp(153): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(154): warning C4267: “=”: 从“size_t”转换到“int”,可能丢失数据 + 1>PX_CaxaToPDF.cpp(165): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(169): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(170): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(184): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(110) : 参见“strcpy”的声明 + 1>PX_CaxaToPDF.cpp(185): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(186): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(187): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(188): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(189): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(190): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(191): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(192): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(193): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(194): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(195): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(196): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(197): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(198): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(199): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + 1>PX_CaxaToPDF.cpp(200): warning C4996: 'strcat': This function or variable may be unsafe. Consider using strcat_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\string.h(115) : 参见“strcat”的声明 + T5Sign_ITK.cpp + lib_custom_main.cpp + string_helper.cpp + string_utils.cxx + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + clear_form_prop.cpp + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>clear_form_prop.cpp(81): warning C4267: “参数”: 从“size_t”转换到“int”,可能丢失数据 + 1>clear_form_prop.cpp(131): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 + 1>clear_form_prop.cpp(140): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 + 1>clear_form_prop.cpp(75): warning C4101: “DataSetType”: 未引用的局部变量 + connor_util.cpp + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + epm_register_handler.cpp + 1>epm_register_handler.cpp(68): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stdio.h(218) : 参见“fopen”的声明 + 1>epm_register_handler.cpp(84): warning C4172: 返回局部变量或临时变量的地址 + 1>epm_register_handler.cpp(64): warning C4101: “str”: 未引用的局部变量 + 1>epm_register_handler.cpp(102): warning C4101: “p”: 未引用的局部变量 + 1>epm_register_handler.cpp(100): warning C4101: “expire_date”: 未引用的局部变量 + 1>epm_register_handler.cpp(100): warning C4101: “env”: 未引用的局部变量 + 1>epm_register_handler.cpp(100): warning C4101: “date_buf”: 未引用的局部变量 + 1>epm_register_handler.cpp(101): warning C4101: “now”: 未引用的局部变量 + 1>epm_register_handler.cpp(100): warning C4101: “temp1”: 未引用的局部变量 + 1>epm_register_handler.cpp(100): warning C4101: “temp2”: 未引用的局部变量 + 1>epm_register_handler.cpp(104): warning C4101: “mth_tag”: 未引用的局部变量 + epm_sign_rev.cxx + 1>epm_sign_rev.cxx(202): warning C4129: “c”: 不可识别的字符转义序列 + 1>epm_sign_rev.cxx(119): warning C4101: “userName”: 未引用的局部变量 + 1>epm_sign_rev.cxx(187): warning C4101: “is_valid”: 未引用的局部变量 + 1>epm_sign_rev.cxx(713): warning C4102: “end_handler”: 未引用的标签 + epm_signoff_dataset.cxx + 1>epm_signoff_dataset.cxx(148): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(148): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(147): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(182): warning C4101: “new_file_name”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(180): warning C4101: “file_descriptor”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(338): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(338): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(337): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(423): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(423): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(422): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(510): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(510): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(509): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(597): warning C4101: “user_lib_env”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(597): warning C4101: “pTempStr”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(596): warning C4101: “iCnt”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(817): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 + 1>epm_signoff_dataset.cxx(825): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 + 1>epm_signoff_dataset.cxx(860): warning C4267: “初始化”: 从“size_t”转换到“int”,可能丢失数据 + 1>epm_signoff_dataset.cxx(699): warning C4101: “aUserTag”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(701): warning C4101: “decision_date”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(700): warning C4101: “userName”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(699): warning C4101: “responsibleParty”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(924): warning C4101: “desc_path”: 未引用的局部变量 + 1>epm_signoff_dataset.cxx(1226): warning C4800: “BOOL”: 将值强制为布尔值“true”或“false”(性能警告) + erp_utils.cxx + space_node.cpp + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\pom/pom/pom_errors.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\qry/qry.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(1982): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(2586): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + 1>Z:\D-2\WorkEnvironment\tc8ITK\include\bom/bom.h(3219): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\CL.exe /c /I"Z:\D-2\WorkEnvironment\tc8ITK\include" /I"Z:\D-2\WorkEnvironment\tc8ITK\include_cpp" /Zi /nologo /W3 /WX- /O2 /GL /D WIN32 /D NDEBUG /D _WINDOWS /D IPLIB=none /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope /Fo"x64\Release\\" /Fd"x64\Release\vc110.pdb" /Gd /TC /errorReport:prompt common_itk_util.c + common_itk_util.c + 1>common_itk_util.c(91): warning C4013: “AM__set_application_bypass”未定义;假设外部返回 int + ResourceCompile: + C:\Program Files (x86)\Windows Kits\8.0\bin\x86\rc.exe /D _UNICODE /D UNICODE /l"0x0409" /nologo /fo"x64\Release\T5Sign_ITK.res" T5Sign_ITK.rc + Link: + C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64\link.exe /ERRORREPORT:PROMPT /OUT:"Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\x64\Release\T5Sign_itk.dll" /INCREMENTAL:NO /NOLOGO "Z:\D-2\WorkEnvironment\tc8ITK\lib\*.lib" kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /NODEFAULTLIB:libuser_exits.ar.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /manifest:embed /DEBUG /PDB:"Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\x64\Release\T5Sign_ITK.pdb" /SUBSYSTEM:WINDOWS /OPT:REF /OPT:ICF /LTCG /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\x64\Release\T5Sign_ITK.lib" /MACHINE:X64 /DLL x64\Release\T5Sign_ITK.res + x64\Release\HS_pdf_signoff.obj + x64\Release\HS_set_signoff.obj + x64\Release\PX_CaxaToPDF.obj + x64\Release\stdafx.obj + x64\Release\T5Sign_ITK.obj + x64\Release\common_itk_util.obj + x64\Release\lib_custom_main.obj + x64\Release\string_helper.obj + x64\Release\string_utils.obj + x64\Release\clear_form_prop.obj + x64\Release\connor_util.obj + x64\Release\epm_register_handler.obj + x64\Release\epm_sign_rev.obj + x64\Release\epm_signoff_dataset.obj + x64\Release\erp_utils.obj + x64\Release\space_node.obj + 正在创建库 Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\x64\Release\T5Sign_ITK.lib 和对象 Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\x64\Release\T5Sign_ITK.exp + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AE_add_dataset_named_ref + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_EMH_ask_error_text + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_MEM_free + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_ask_value_tags + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_IMF_import_file + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_IMF_close_file + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AE_ask_dataset_latest_rev + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_TCTYPE_ask_object_type + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_GRM_find_relation_type + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_IMF_export_file + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_save + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_refresh + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_root_task + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_lock + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_IMF_set_original_file_name + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_IMF_ask_original_file_name + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_sub_tasks + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_ask_value_string + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_attachments + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AE_ask_dataset_named_ref + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_TCTYPE_ask_class_name + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_PREF_ask_char_value + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_USER_new_file_name + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_IMF_ask_file_pathname + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_ITK_ask_argument_named_value + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_ITK__convert_uid_to_tag + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_GRM_list_secondary_objects_only + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 POM_AM__set_application_bypass + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_AE_remove_dataset_named_ref_by_tag + 1>HS_pdf_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_PREF_ask_char_values + 1>HS_set_signoff.obj : error LNK2001: 无法解析的外部符号 __imp_EMH_store_error_s1 + 1>PX_CaxaToPDF.obj : error LNK2001: 无法解析的外部符号 __imp_POM_tag_to_uid + 1>common_itk_util.obj : error LNK2001: 无法解析的外部符号 __imp_MEM_alloc + 1>common_itk_util.obj : error LNK2001: 无法解析的外部符号 __imp_TC_write_syslog + 1>common_itk_util.obj : error LNK2001: 无法解析的外部符号 __imp_POM_ask_session + 1>common_itk_util.obj : error LNK2001: 无法解析的外部符号 __imp_ITK__convert_tag_to_uid + 1>common_itk_util.obj : error LNK2001: 无法解析的外部符号 AM__set_application_bypass + 1>lib_custom_main.obj : error LNK2001: 无法解析的外部符号 __imp_CUSTOM_register_exit + 1>string_utils.obj : error LNK2001: 无法解析的外部符号 __imp_tc_strncpy + 1>string_utils.obj : error LNK2001: 无法解析的外部符号 __imp_tc_strcat + 1>string_utils.obj : error LNK2001: 无法解析的外部符号 __imp_STRNG_replace_str + 1>string_utils.obj : error LNK2001: 无法解析的外部符号 __imp_tc_strstr + 1>string_utils.obj : error LNK2001: 无法解析的外部符号 __imp_tc_strcpy + 1>string_utils.obj : error LNK2001: 无法解析的外部符号 __imp_tc_strlen + 1>clear_form_prop.obj : error LNK2001: 无法解析的外部符号 __imp_ITEM_ask_rev_type + 1>clear_form_prop.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_set_value_string + 1>clear_form_prop.obj : error LNK2001: 无法解析的外部符号 __imp_WSOM_ask_object_type + 1>clear_form_prop.obj : error LNK2001: 无法解析的外部符号 __imp_tc_strcmp + 1>connor_util.obj : error LNK2001: 无法解析的外部符号 __imp_TCTYPE_is_type_of + 1>connor_util.obj : error LNK2001: 无法解析的外部符号 __imp_PREF_set_search_scope + 1>connor_util.obj : error LNK2001: 无法解析的外部符号 __imp_TCTYPE_find_type + 1>connor_util.obj : error LNK2001: 无法解析的外部符号 __imp_PREF_ask_search_scope + 1>epm_register_handler.obj : error LNK2001: 无法解析的外部符号 USERSERVICE_register_method + 1>epm_register_handler.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_register_action_handler + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_SA_ask_user_person_name + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_SA_ask_groupmember_user + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_ask_owner + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_CR_ask_signoff_decision + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_signoff_member + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_POM_get_user + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_parent_task + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_SA_ask_group_display_name + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_all_attachments + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_ITEM_ask_item_of_rev + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_load + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_SA_ask_groupmember_group + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_name + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_EMH_clear_errors + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_ITEM_ask_rev_id + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_ITK_set_bypass + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_responsible_party + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_DATE_date_to_string + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_ask_sub_task + 1>epm_sign_rev.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_ask_value_date + 1>epm_signoff_dataset.obj : error LNK2001: 无法解析的外部符号 __imp_ICS_ico_remove + 1>epm_signoff_dataset.obj : error LNK2001: 无法解析的外部符号 __imp_ICS_is_wsobject_classified + 1>epm_signoff_dataset.obj : error LNK2001: 无法解析的外部符号 USERARG_get_string_argument + 1>epm_signoff_dataset.obj : error LNK2001: 无法解析的外部符号 USERARG_get_tag_argument + 1>epm_signoff_dataset.obj : error LNK2001: 无法解析的外部符号 __imp_ITEM_ask_id + 1>epm_signoff_dataset.obj : error LNK2001: 无法解析的外部符号 __imp_CR_create_release_status + 1>epm_signoff_dataset.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_add_release_status + 1>space_node.obj : error LNK2001: 无法解析的外部符号 __imp_AOM_ask_value_tag + 1>space_node.obj : error LNK2001: 无法解析的外部符号 __imp_POM_set_owning_user + 1>space_node.obj : error LNK2001: 无法解析的外部符号 __imp_POM_ask_owner + 1>space_node.obj : error LNK2001: 无法解析的外部符号 __imp_EPM_add_attachments + 1>space_node.obj : error LNK2001: 无法解析的外部符号 __imp_PS_where_used_all + 1>Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\x64\Release\T5Sign_itk.dll : fatal error LNK1120: 86 个无法解析的外部命令 + 1>已完成生成项目“Z:\D-2\Project\蓬翔\ITK\64位\T5Sign_ITK\T5Sign_ITK\T5Sign_ITK.vcxproj”(Rebuild 个目标)的操作 - 失败。 + +生成失败。 + +已用时间 00:00:33.41 diff --git a/T5Sign_ITK/x64/Release/T5Sign_ITK.obj b/T5Sign_ITK/x64/Release/T5Sign_ITK.obj new file mode 100644 index 0000000..11546df Binary files /dev/null and b/T5Sign_ITK/x64/Release/T5Sign_ITK.obj differ diff --git a/T5Sign_ITK/x64/Release/T5Sign_ITK.pch b/T5Sign_ITK/x64/Release/T5Sign_ITK.pch new file mode 100644 index 0000000..14bfb21 Binary files /dev/null and b/T5Sign_ITK/x64/Release/T5Sign_ITK.pch differ diff --git a/T5Sign_ITK/x64/Release/T5Sign_ITK.res b/T5Sign_ITK/x64/Release/T5Sign_ITK.res new file mode 100644 index 0000000..fd17d6c Binary files /dev/null and b/T5Sign_ITK/x64/Release/T5Sign_ITK.res differ diff --git a/T5Sign_ITK/x64/Release/T5Sign_ITK.unsuccessfulbuild b/T5Sign_ITK/x64/Release/T5Sign_ITK.unsuccessfulbuild new file mode 100644 index 0000000..e69de29 diff --git a/T5Sign_ITK/x64/Release/cl.command.1.tlog b/T5Sign_ITK/x64/Release/cl.command.1.tlog new file mode 100644 index 0000000..c4907cb Binary files /dev/null and b/T5Sign_ITK/x64/Release/cl.command.1.tlog differ diff --git a/T5Sign_ITK/x64/Release/clear_form_prop.obj b/T5Sign_ITK/x64/Release/clear_form_prop.obj new file mode 100644 index 0000000..5c40ab4 Binary files /dev/null and b/T5Sign_ITK/x64/Release/clear_form_prop.obj differ diff --git a/T5Sign_ITK/x64/Release/common_itk_util.obj b/T5Sign_ITK/x64/Release/common_itk_util.obj new file mode 100644 index 0000000..5c5b1e8 Binary files /dev/null and b/T5Sign_ITK/x64/Release/common_itk_util.obj differ diff --git a/T5Sign_ITK/x64/Release/connor_util.obj b/T5Sign_ITK/x64/Release/connor_util.obj new file mode 100644 index 0000000..c6dbdc9 Binary files /dev/null and b/T5Sign_ITK/x64/Release/connor_util.obj differ diff --git a/T5Sign_ITK/x64/Release/epm_register_handler.obj b/T5Sign_ITK/x64/Release/epm_register_handler.obj new file mode 100644 index 0000000..62faebe Binary files /dev/null and b/T5Sign_ITK/x64/Release/epm_register_handler.obj differ diff --git a/T5Sign_ITK/x64/Release/epm_sign_rev.obj b/T5Sign_ITK/x64/Release/epm_sign_rev.obj new file mode 100644 index 0000000..f806230 Binary files /dev/null and b/T5Sign_ITK/x64/Release/epm_sign_rev.obj differ diff --git a/T5Sign_ITK/x64/Release/epm_signoff_dataset.obj b/T5Sign_ITK/x64/Release/epm_signoff_dataset.obj new file mode 100644 index 0000000..05b6c2f Binary files /dev/null and b/T5Sign_ITK/x64/Release/epm_signoff_dataset.obj differ diff --git a/T5Sign_ITK/x64/Release/erp_utils.obj b/T5Sign_ITK/x64/Release/erp_utils.obj new file mode 100644 index 0000000..e9e43e3 Binary files /dev/null and b/T5Sign_ITK/x64/Release/erp_utils.obj differ diff --git a/T5Sign_ITK/x64/Release/lib_custom_main.obj b/T5Sign_ITK/x64/Release/lib_custom_main.obj new file mode 100644 index 0000000..ab829d6 Binary files /dev/null and b/T5Sign_ITK/x64/Release/lib_custom_main.obj differ diff --git a/T5Sign_ITK/x64/Release/link.command.1.tlog b/T5Sign_ITK/x64/Release/link.command.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/x64/Release/link.command.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/x64/Release/link.read.1.tlog b/T5Sign_ITK/x64/Release/link.read.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/x64/Release/link.read.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/x64/Release/link.write.1.tlog b/T5Sign_ITK/x64/Release/link.write.1.tlog new file mode 100644 index 0000000..46b134b --- /dev/null +++ b/T5Sign_ITK/x64/Release/link.write.1.tlog @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/T5Sign_ITK/x64/Release/mt.dep b/T5Sign_ITK/x64/Release/mt.dep new file mode 100644 index 0000000..0ce2827 --- /dev/null +++ b/T5Sign_ITK/x64/Release/mt.dep @@ -0,0 +1 @@ +嵥ԴϴθʱΪ 16:53:52.63λΪ 2018/11/06 ܶ diff --git a/T5Sign_ITK/x64/Release/rc.command.1.tlog b/T5Sign_ITK/x64/Release/rc.command.1.tlog new file mode 100644 index 0000000..3cf66ff Binary files /dev/null and b/T5Sign_ITK/x64/Release/rc.command.1.tlog differ diff --git a/T5Sign_ITK/x64/Release/rc.read.1.tlog b/T5Sign_ITK/x64/Release/rc.read.1.tlog new file mode 100644 index 0000000..aa7a6f8 Binary files /dev/null and b/T5Sign_ITK/x64/Release/rc.read.1.tlog differ diff --git a/T5Sign_ITK/x64/Release/rc.write.1.tlog b/T5Sign_ITK/x64/Release/rc.write.1.tlog new file mode 100644 index 0000000..107d772 Binary files /dev/null and b/T5Sign_ITK/x64/Release/rc.write.1.tlog differ diff --git a/T5Sign_ITK/x64/Release/space_node.obj b/T5Sign_ITK/x64/Release/space_node.obj new file mode 100644 index 0000000..cb8fea0 Binary files /dev/null and b/T5Sign_ITK/x64/Release/space_node.obj differ diff --git a/T5Sign_ITK/x64/Release/stdafx.obj b/T5Sign_ITK/x64/Release/stdafx.obj new file mode 100644 index 0000000..9354a7b Binary files /dev/null and b/T5Sign_ITK/x64/Release/stdafx.obj differ diff --git a/T5Sign_ITK/x64/Release/string_helper.obj b/T5Sign_ITK/x64/Release/string_helper.obj new file mode 100644 index 0000000..1ccdc9c Binary files /dev/null and b/T5Sign_ITK/x64/Release/string_helper.obj differ diff --git a/T5Sign_ITK/x64/Release/string_utils.obj b/T5Sign_ITK/x64/Release/string_utils.obj new file mode 100644 index 0000000..8dd7f82 Binary files /dev/null and b/T5Sign_ITK/x64/Release/string_utils.obj differ diff --git a/T5Sign_ITK/x64/Release/vc110.pdb b/T5Sign_ITK/x64/Release/vc110.pdb new file mode 100644 index 0000000..9fcda25 Binary files /dev/null and b/T5Sign_ITK/x64/Release/vc110.pdb differ diff --git a/UpgradeLog.XML b/UpgradeLog.XML new file mode 100644 index 0000000..a97dc3b Binary files /dev/null and b/UpgradeLog.XML differ diff --git a/UpgradeLog.htm b/UpgradeLog.htm new file mode 100644 index 0000000..4aca288 Binary files /dev/null and b/UpgradeLog.htm differ diff --git a/_UpgradeReport_Files/UpgradeReport.css b/_UpgradeReport_Files/UpgradeReport.css new file mode 100644 index 0000000..2edaaf3 --- /dev/null +++ b/_UpgradeReport_Files/UpgradeReport.css @@ -0,0 +1,118 @@ +/* Body style, for the entire document */ +body +{ + background: #F3F3F4; + color: #1E1E1F; + font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; + padding: 0; + margin: 0; +} + +/* Header1 style, used for the main title */ +h1 +{ + padding: 10px 0px 10px 10px; + font-size: 21pt; + background-color: #E2E2E2; + border-bottom: 1px #C1C1C2 solid; + color: #201F20; + margin: 0; + font-weight: normal; +} + +/* Header2 style, used for "Overview" and other sections */ +h2 +{ + font-size: 18pt; + font-weight: normal; + padding: 15px 0 5px 0; + margin: 0; +} + +/* Header3 style, used for sub-sections, such as project name */ +h3 +{ + font-weight: normal; + font-size: 15pt; + margin: 0; + padding: 15px 0 5px 0; + background-color: transparent; +} + +/* Color all hyperlinks one color */ +a +{ + color: #1382CE; +} + +/* Table styles */ +table +{ + border-spacing: 0 0; + border-collapse: collapse; + font-size: 10pt; +} + +table th +{ + background: #E7E7E8; + text-align: left; + text-decoration: none; + font-weight: normal; + padding: 3px 6px 3px 6px; +} + +table td +{ + vertical-align: top; + padding: 3px 6px 5px 5px; + margin: 0px; + border: 1px solid #E7E7E8; + background: #F7F7F8; +} + +/* Local link is a style for hyperlinks that link to file:/// content, there are lots so color them as 'normal' text until the user mouse overs */ +.localLink +{ + color: #1E1E1F; + background: #EEEEED; + text-decoration: none; +} + +.localLink:hover +{ + color: #1382CE; + background: #FFFF99; + text-decoration: none; +} + +/* Center text, used in the over views cells that contain message level counts */ +.textCentered +{ + text-align: center; +} + +/* The message cells in message tables should take up all avaliable space */ +.messageCell +{ + width: 100%; +} + +/* Padding around the content after the h1 */ +#content +{ + padding: 0px 12px 12px 12px; +} + +/* The overview table expands to width, with a max width of 97% */ +#overview table +{ + width: auto; + max-width: 75%; +} + +/* The messages tables are always 97% width */ +#messages table +{ + width: 97%; +} \ No newline at end of file diff --git a/_UpgradeReport_Files/UpgradeReport.xslt b/_UpgradeReport_Files/UpgradeReport.xslt new file mode 100644 index 0000000..798b5b8 --- /dev/null +++ b/_UpgradeReport_Files/UpgradeReport.xslt @@ -0,0 +1,558 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ + + + + Solution + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Error + Warning + Success + + + + + + + + + + + + + + + + + + + + + + + + + + + + Message + Warning + Error + Message + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
项目路径错误警告消息
+ + + + _UpgradeReport_Files\UpgradeReport_Error.png + _UpgradeReport_Files\UpgradeReport_Warning.png + _UpgradeReport_Files\UpgradeReport_Success.png + + + + + + + + + + + + + + + 解决方案 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ' + + + + + + + +
+
+ + + + + + + + + + + + + ' + + + + + + + + + + + 显示 其他消息 + + + + + + + + + + + + + + + + + ' + + + + + + + + + + + 隐藏 其他消息 + + + + + + + + + + + + + + display: none + + + + + + + + + + + _UpgradeReport_Files\UpgradeReport_Error.png + _UpgradeReport_Files\UpgradeReport_Warning.png + _UpgradeReport_Files\UpgradeReport_Information.png + + + + + + + + + + : + + + + + + + + + + + + + + + + + + + + + + + + + +

解决方案

+
+ +

+ +

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
消息
+ + + 解决方案未记录任何消息。 + + 未记录任何消息。 +
+
+
+ + + + + + + +]]> + + + + + + + + 迁移报告 + + + + + +

+ 迁移报告 - +

+ +
+

概述

+ + + + +
+ +
+ +

解决方案和项目

+ +
+ +
+
+ + +
+ +
diff --git a/_UpgradeReport_Files/UpgradeReport_Error.png b/_UpgradeReport_Files/UpgradeReport_Error.png new file mode 100644 index 0000000..4b48983 Binary files /dev/null and b/_UpgradeReport_Files/UpgradeReport_Error.png differ diff --git a/_UpgradeReport_Files/UpgradeReport_Information.png b/_UpgradeReport_Files/UpgradeReport_Information.png new file mode 100644 index 0000000..fc631e2 Binary files /dev/null and b/_UpgradeReport_Files/UpgradeReport_Information.png differ diff --git a/_UpgradeReport_Files/UpgradeReport_Success.png b/_UpgradeReport_Files/UpgradeReport_Success.png new file mode 100644 index 0000000..c8c27bc Binary files /dev/null and b/_UpgradeReport_Files/UpgradeReport_Success.png differ diff --git a/_UpgradeReport_Files/UpgradeReport_Warning.png b/_UpgradeReport_Files/UpgradeReport_Warning.png new file mode 100644 index 0000000..7197e03 Binary files /dev/null and b/_UpgradeReport_Files/UpgradeReport_Warning.png differ diff --git a/release/T5Sign_ITK.exp b/release/T5Sign_ITK.exp new file mode 100644 index 0000000..fd19ee0 Binary files /dev/null and b/release/T5Sign_ITK.exp differ diff --git a/release/T5Sign_ITK.lib b/release/T5Sign_ITK.lib new file mode 100644 index 0000000..18bdfb4 Binary files /dev/null and b/release/T5Sign_ITK.lib differ diff --git a/release/T5Sign_ITK.pdb b/release/T5Sign_ITK.pdb new file mode 100644 index 0000000..2dfbb0c Binary files /dev/null and b/release/T5Sign_ITK.pdb differ diff --git a/release/T5Sign_itk.dll b/release/T5Sign_itk.dll new file mode 100644 index 0000000..71e187a Binary files /dev/null and b/release/T5Sign_itk.dll differ diff --git a/release/T5Sign_itk.zip b/release/T5Sign_itk.zip new file mode 100644 index 0000000..c932a02 Binary files /dev/null and b/release/T5Sign_itk.zip differ diff --git a/x64/release/T5Sign_ITK.exp b/x64/release/T5Sign_ITK.exp new file mode 100644 index 0000000..191307f Binary files /dev/null and b/x64/release/T5Sign_ITK.exp differ diff --git a/x64/release/T5Sign_ITK.lib b/x64/release/T5Sign_ITK.lib new file mode 100644 index 0000000..6163bee Binary files /dev/null and b/x64/release/T5Sign_ITK.lib differ