first commit

main
洪丞进 2 weeks ago
commit 19c4643c27

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -0,0 +1,28 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ConsoleApplication1", "ConsoleApplication1\ConsoleApplication1.vcxproj", "{39CA478E-D529-44AC-B217-FEA59F529DA6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{39CA478E-D529-44AC-B217-FEA59F529DA6}.Debug|x64.ActiveCfg = Debug|x64
{39CA478E-D529-44AC-B217-FEA59F529DA6}.Debug|x64.Build.0 = Debug|x64
{39CA478E-D529-44AC-B217-FEA59F529DA6}.Debug|x86.ActiveCfg = Debug|Win32
{39CA478E-D529-44AC-B217-FEA59F529DA6}.Debug|x86.Build.0 = Debug|Win32
{39CA478E-D529-44AC-B217-FEA59F529DA6}.Release|x64.ActiveCfg = Release|x64
{39CA478E-D529-44AC-B217-FEA59F529DA6}.Release|x64.Build.0 = Release|x64
{39CA478E-D529-44AC-B217-FEA59F529DA6}.Release|x86.ActiveCfg = Release|Win32
{39CA478E-D529-44AC-B217-FEA59F529DA6}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

@ -0,0 +1,11 @@
// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
int main()
{
return 0;
}

@ -0,0 +1,179 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{39CA478E-D529-44AC-B217-FEA59F529DA6}</ProjectGuid>
<Keyword>Win32Proj</Keyword>
<RootNamespace>ConsoleApplication1</RootNamespace>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE; IPLIB=none ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>C:\Siemens\Teamcenter13\include_cpp;C:\Siemens\Teamcenter13\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>C:\Siemens\Teamcenter13\lib\*.lib;%(AdditionalDependencies)</AdditionalDependencies>
<IgnoreSpecificDefaultLibraries>libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>NDEBUG; _CONSOLE ;IPLIB=none ;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<AdditionalIncludeDirectories>D:\WorkEnvironment\tc12ITK\dflittk\include;D:\WorkEnvironment\tc12ITK\dflittk\include_cpp;Z:\TC_install\105\c\tclib\include_cpp;Z:\TC_install\105\c\tclib\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
<AdditionalDependencies>Z:\TC_install\105\c\tclib\lib\*.lib;D:\WorkEnvironment\tc12ITK\dflittk\lib\*.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(OutDir)ConsoleApplication1.dll</OutputFile>
<IgnoreSpecificDefaultLibraries>libuser_exits.ar.lib</IgnoreSpecificDefaultLibraries>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="connor_handler.h" />
<ClInclude Include="connor_test.h" />
<ClInclude Include="sjjjy.h" />
<ClInclude Include="stdafx.h" />
<ClInclude Include="targetver.h" />
<ClInclude Include="tc_log.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="connor_handler.cpp" />
<ClCompile Include="connor_test.cpp" />
<ClCompile Include="ConsoleApplication1.cpp" />
<ClCompile Include="main_lib.cpp" />
<ClCompile Include="sjjjy.cpp" />
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="tc_log.cxx" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="源文件">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="头文件">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="资源文件">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="ReadMe.txt" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="stdafx.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="targetver.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="connor_handler.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="connor_test.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="sjjjy.h">
<Filter>头文件</Filter>
</ClInclude>
<ClInclude Include="tc_log.h">
<Filter>头文件</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="stdafx.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="ConsoleApplication1.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="connor_handler.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="connor_test.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="main_lib.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="sjjjy.cpp">
<Filter>源文件</Filter>
</ClCompile>
<ClCompile Include="tc_log.cxx">
<Filter>源文件</Filter>
</ClCompile>
</ItemGroup>
</Project>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup />
</Project>

@ -0,0 +1,30 @@
========================================================================
控制台应用程序ConsoleApplication1 项目概述
========================================================================
应用程序向导已为您创建了此 ConsoleApplication1 应用程序。
本文件概要介绍组成 ConsoleApplication1 应用程序的每个文件的内容。
ConsoleApplication1.vcxproj
这是使用应用程序向导生成的 VC++ 项目的主项目文件,其中包含生成该文件的 Visual C++ 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。
ConsoleApplication1.vcxproj.filters
这是使用“应用程序向导”生成的 VC++ 项目筛选器文件。它包含有关项目文件与筛选器之间的关联信息。在 IDE 中,通过这种关联,在特定节点下以分组形式显示具有相似扩展名的文件。例如,“.cpp”文件与“源文件”筛选器关联。
ConsoleApplication1.cpp
这是主应用程序源文件。
/////////////////////////////////////////////////////////////////////////////
其他标准文件:
StdAfx.h, StdAfx.cpp
这些文件用于生成名为 ConsoleApplication1.pch 的预编译头 (PCH) 文件和名为 StdAfx.obj 的预编译类型文件。
/////////////////////////////////////////////////////////////////////////////
其他注释:
应用程序向导使用“TODO:”注释来指示应添加或自定义的源代码部分。
/////////////////////////////////////////////////////////////////////////////

@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit
Release|Win32|C:\vs2015\Projects\ConsoleApplication1\|

@ -0,0 +1,12 @@
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\consoleapplication1.pch
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\vc140.pdb
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\stdafx.obj
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\consoleapplication1.obj
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\connor_test.obj
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\connor_handler.obj
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\consolea.39ca478e.tlog\cl.command.1.tlog
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\consolea.39ca478e.tlog\cl.read.1.tlog
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\consolea.39ca478e.tlog\cl.write.1.tlog
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\consolea.39ca478e.tlog\link.command.1.tlog
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\consolea.39ca478e.tlog\link.read.1.tlog
c:\vs2015\projects\consoleapplication1\consoleapplication1\release\consolea.39ca478e.tlog\link.write.1.tlog

@ -0,0 +1,64 @@
生成启动时间为 2022/10/24 16:46:31。
1>项目“C:\vs2015\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.vcxproj”在节点 2 上(Rebuild 个目标)。
1>ClCompile:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\CL.exe /c /IC:\Siemens\Teamcenter13\include_cpp /IC:\Siemens\Teamcenter13\include /Zi /nologo /W3 /WX- /sdl /O2 /Oi /Oy- /GL /D WIN32 /D NDEBUG /D _CONSOLE /D IPLIB=none /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Yc"stdafx.h" /Fp"Release\ConsoleApplication1.pch" /Fo"Release\\" /Fd"Release\vc140.pdb" /Gd /TP /analyze- /errorReport:prompt stdafx.cpp
stdafx.cpp
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\CL.exe /c /IC:\Siemens\Teamcenter13\include_cpp /IC:\Siemens\Teamcenter13\include /Zi /nologo /W3 /WX- /sdl /O2 /Oi /Oy- /GL /D WIN32 /D NDEBUG /D _CONSOLE /D IPLIB=none /D _WINDLL /D _UNICODE /D UNICODE /Gm- /EHsc /MD /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Zc:inline /Fo"Release\\" /Fd"Release\vc140.pdb" /Gd /TP /analyze- /errorReport:prompt connor_handler.cpp connor_test.cpp ConsoleApplication1.cpp
connor_handler.cpp
1>C:\Siemens\Teamcenter13\include\pom/pom/pom.h(801): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>C:\Siemens\Teamcenter13\include\pom/pom/pom.h(5415): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\vs2015\projects\consoleapplication1\consoleapplication1\connor_handler.h(9): warning C4067: 预处理器指令后有意外标记 - 应输入换行符
1>connor_handler.cpp(28): 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)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(119): note: 参见“strcpy”的声明
1>connor_handler.cpp(37): 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)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(119): note: 参见“strcpy”的声明
1>connor_handler.cpp(121): 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)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(119): note: 参见“strcpy”的声明
1>connor_handler.cpp(130): 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)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(119): note: 参见“strcpy”的声明
1>connor_handler.cpp(218): 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)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(119): note: 参见“strcpy”的声明
1>connor_handler.cpp(227): 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)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(119): note: 参见“strcpy”的声明
1>connor_handler.cpp(285): 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)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(119): note: 参见“strcpy”的声明
1>connor_handler.cpp(283): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(453): note: 参见“strtok”的声明
1>connor_handler.cpp(292): warning C4996: 'strtok': This function or variable may be unsafe. Consider using strtok_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt\string.h(453): note: 参见“strtok”的声明
connor_test.cpp
1>C:\Siemens\Teamcenter13\include\pom/pom/pom.h(801): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>C:\Siemens\Teamcenter13\include\pom/pom/pom.h(5415): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>c:\vs2015\projects\consoleapplication1\consoleapplication1\connor_handler.h(9): warning C4067: 预处理器指令后有意外标记 - 应输入换行符
1>connor_test.cpp(15): warning C4101: “now”: 未引用的局部变量
1>connor_test.cpp(14): warning C4101: “temp2”: 未引用的局部变量
1>connor_test.cpp(14): warning C4101: “expire_date”: 未引用的局部变量
1>connor_test.cpp(14): warning C4101: “date_buf”: 未引用的局部变量
1>connor_test.cpp(16): warning C4101: “p”: 未引用的局部变量
1>connor_test.cpp(14): warning C4101: “env”: 未引用的局部变量
1>connor_test.cpp(14): warning C4101: “temp1”: 未引用的局部变量
ConsoleApplication1.cpp
Link:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\link.exe /ERRORREPORT:PROMPT /OUT:"C:\vs2015\Projects\ConsoleApplication1\Release\ConsoleApplication1.dll" /INCREMENTAL:NO /NOLOGO "C:\Siemens\Teamcenter13\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:"C:\vs2015\Projects\ConsoleApplication1\Release\ConsoleApplication1.pdb" /SUBSYSTEM:CONSOLE /OPT:REF /OPT:ICF /LTCG:incremental /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\vs2015\Projects\ConsoleApplication1\Release\ConsoleApplication1.lib" /MACHINE:X86 /SAFESEH /DLL Release\connor_handler.obj
Release\connor_test.obj
Release\ConsoleApplication1.obj
Release\stdafx.obj
正在创建库 C:\vs2015\Projects\ConsoleApplication1\Release\ConsoleApplication1.lib 和对象 C:\vs2015\Projects\ConsoleApplication1\Release\ConsoleApplication1.exp
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__EPM_ask_root_task
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__AOM_set_value_string
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__EPM_ask_attachments
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__EMH_store_error_s1
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__TC_printf
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__EMH_ask_error_text
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__AOM_ask_value_string
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__MEM_free
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__ITEM_ask_item_of_rev
1>connor_handler.obj : error LNK2001: 无法解析的外部符号 __imp__ITK_ask_argument_named_value
1>connor_test.obj : error LNK2001: 无法解析的外部符号 __imp__EPM_register_action_handler
1>connor_test.obj : error LNK2001: 无法解析的外部符号 __imp__EPM_register_rule_handler
1>C:\vs2015\Projects\ConsoleApplication1\Release\ConsoleApplication1.dll : fatal error LNK1120: 12 个无法解析的外部命令
1>已完成生成项目“C:\vs2015\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.vcxproj”(Rebuild 个目标)的操作 - 失败。
生成失败。
已用时间 00:00:08.54

@ -0,0 +1,893 @@
#include "connor_handler.h"
#include "stdafx.h"
#include<assert.h>
#include<stdio.h>
#include<string.h>
/**
*
*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);
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;
}
// 判断物料的关系文件夹下是否有该工序(传bom,rev)
int hasThisGx(tag_t t_wl_bom, tag_t t_gx_rev) {
tag_t t_wl_rev = NULL;
char *obj_str = NULL;
ITKCALL(AOM_ask_value_tag(t_wl_bom, "bl_line_object", &t_wl_rev));
ITKCALL(AOM_ask_value_string(t_gx_rev, "item_id", &obj_str));
char *object_string = NULL;
tag_t ch_obj_rev = NULLTAG;
int ch_all_obj_num = 0;
tag_t *ch_all_obj = NULLTAG;
ITKCALL(AOM_ask_value_tags(t_wl_rev, "LB2_WLYGX", &ch_all_obj_num, &ch_all_obj));
//ITKCALL(AOM_ask_value_tags(t_wl_rev, "IMAN_specification", &ch_all_obj_num, &ch_all_obj));
for (int m = 0; m < ch_all_obj_num; m++)
{
char *object_string = NULL;
ITKCALL(AOM_ask_value_string(ch_all_obj[m], "item_id", &object_string));
//printf("孩子的id:%s\n", object_string);
if (strcmp(obj_str, object_string) == 0)
{
return 1; // 有传1
}
}
return 0; // 没有传0
}
// 判断物料的关系文件夹下是否有该工序传rev,rev
int hasThisGx2(tag_t t_wl_rev, tag_t t_gx_rev) {
char *obj_str = NULL;
ITKCALL(AOM_ask_value_string(t_gx_rev, "item_id", &obj_str));
char *object_string = NULL;
tag_t ch_obj_rev = NULLTAG;
int ch_all_obj_num = 0;
tag_t *ch_all_obj = NULLTAG;
ITKCALL(AOM_ask_value_tags(t_wl_rev, "LB2_WLYGX", &ch_all_obj_num, &ch_all_obj));
//ITKCALL(AOM_ask_value_tags(t_wl_rev, "IMAN_specification", &ch_all_obj_num, &ch_all_obj));
for (int m = 0; m < ch_all_obj_num; m++)
{
char *object_string = NULL;
ITKCALL(AOM_ask_value_string(ch_all_obj[m], "item_id", &object_string));
//printf("孩子的id:%s\n", object_string);
if (strcmp(obj_str, object_string) == 0)
{
return 1; // 有传1
}
}
return 0; // 没有传0
}
// 把工序对象添加进物料的关系文件夹中(传bom,rev)
void setGxInWl(tag_t wl_rev_line, tag_t gx_rev) {
tag_t gx_item = NULL; // 工序版本对象的工序对象
ITKCALL(AOM_ask_value_tag(gx_rev, "items_tag", &gx_item));
tag_t wl_rev = NULL;
AOM_ask_value_tag(wl_rev_line, "bl_line_object", &wl_rev);
tag_t cs_type = NULLTAG;
ITKCALL(GRM_find_relation_type("LB2_WLYGX", &cs_type));
printf("开始添加关系\n");
tag_t relation = NULLTAG;
ITKCALL(GRM_create_relation(wl_rev, gx_item, cs_type, NULLTAG, &relation));
ITKCALL(GRM_save_relation(relation));
printf("添加关系完毕\n");
}
// 把工序对象添加进物料的关系文件夹中(传rev,rev)
void setGxInWl2(tag_t wl_rev, tag_t gx_rev) {
tag_t gx_item = NULL; // 工序版本对象的工序对象
ITKCALL(AOM_ask_value_tag(gx_rev, "items_tag", &gx_item));
tag_t cs_type = NULLTAG;
ITKCALL(GRM_find_relation_type("LB2_WLYGX", &cs_type));
printf("开始添加关系\n");
tag_t relation = NULLTAG;
ITKCALL(GRM_create_relation(wl_rev, gx_item, cs_type, NULLTAG, &relation));
ITKCALL(GRM_save_relation(relation));
printf("添加关系完毕\n");
}
// 判断物料和当前工序的关系是不是MEtarget
int isMEtarget(tag_t is_wl_rev) {
char *rev_string = NULL;
ITKCALL(AOM_UIF_ask_value(is_wl_rev, "bl_occ_type", &rev_string));
if (strcmp(rev_string, "METarget") == 0)
{
return 1;
}
return 0;
}
// 把物料版本对象下的某个关系文件夹清空rev:物料版本对象guanxi:关系文件夹类型)
void kakaka(tag_t rev, tag_t guanxi) {
int num = 0; // 关系文件夹里面的对象的数量
tag_t *revs = NULLTAG; // 关系文件夹里的对象列表
GRM_list_secondary_objects_only(rev, guanxi,&num,&revs);
for (int i = 0; i < num; i++)
{
tag_t gx_relation = NULLTAG;
GRM_find_relation(rev, revs[i], guanxi, &gx_relation);
GRM_delete_relation(gx_relation);
}
}
// LB_copy_gx
int LB_copy_gx(EPM_action_message_t msg) {
int att_cnt = 0, *arg_num = NULL;
tag_t task = NULLTAG, rootTask_tag = NULLTAG, *attachments = NULL;
char *arg = NULL, *argflag = NULL, **argvalue = NULL;
char type[128] = "", name[128] = "";
char *str = "MEProcessRevision";
char *sType = NULL;
tag_t type_tag = NULLTAG;
task = msg.task;
ITKCALL(EPM_ask_root_task(task, &rootTask_tag));
ITKCALL(EPM_ask_attachments(rootTask_tag, EPM_target_attachment, &att_cnt, &attachments));
for (int i = 0; i < att_cnt; i++)
{
int is_type = 0; //代表当前对象是否是要求的类
int c_num = 0; //代表当前类下面的物料对象版本数量
int *c_level = NULL;
tag_t *p_tags = NULLTAG; //当前对象的所有父对象
tag_t *c_tags = NULLTAG; //当前对象的所有子对象
int cc_num = 0; //子对象的数量
char *c_arg = NULL; //当前子对象的id
char *blOccType = NULL;
is_type = checkIsTypeOrSubtype(attachments[i], str); //判断是否是其类或者子类
tag_t rev_tag = attachments[i];
char* obj_str = NULL;
ITKCALL(AOM_ask_value_string(rev_tag, "object_string", &obj_str));
if (is_type)
{
printf("当前检索的工艺为:%s\n", obj_str);
// 判断该工艺下是否有目标物料
tag_t *me_tags = NULLTAG; //工艺的目标物料
int me_num = 0; //工艺的目标物料的数量
AOM_ask_value_tags(rev_tag, "IMAN_METarget", &me_num, &me_tags);
// 遍历目标物料
for (int tt = 0; tt < me_num; tt++)
{
tag_t gx_gx_type = NULLTAG;
ITKCALL(GRM_find_relation_type("LB2_WLYGX", &gx_gx_type));
// 把物料下的指定关系文件夹里的对象全部剪切掉
printf("开始剪切");
kakaka(me_tags[tt], gx_gx_type);
printf("剪切完成");
}
int bvr_count = 0;
tag_t ebom_window = NULLTAG;
tag_t *bvr_list = NULL, bom_line = NULLTAG;
ITKCALL(ITEM_rev_list_bom_view_revs(rev_tag, &bvr_count, &bvr_list));
if (bvr_count == 0)
{
//printf("BOM没有视图----%s\n", obj_str);
continue;
}
ITKCALL(BOM_create_window(&ebom_window));
ITKCALL(BOM_set_window_top_line_bvr(ebom_window, bvr_list[0], &bom_line));
int child_cnt = 0;
tag_t *child_lines = NULL;
ITKCALL(BOM_line_ask_child_lines(bom_line, &child_cnt, &child_lines));
if (child_cnt < 1)
{
//printf("BOM没有子件----%s\n", obj_str);
ITKCALL(BOM_close_window(ebom_window));
continue;
}
// 遍历工艺下所有的工序,进行关系清空
for (int t = 0; t < child_cnt; t++)
{
// 获得工序版本
tag_t child_lines_rev = NULL;
AOM_ask_value_tag(child_lines[t], "bl_line_object", &child_lines_rev);
char *str2 = "MEOPRevision";
if (!checkIsTypeOrSubtype(child_lines_rev, str2))
{
continue;
}
// 判断该工序下是否有目标物料
int wl_cnt = 0;
tag_t *wl_lines = NULL;
// 获得所有的物料
ITKCALL(BOM_line_ask_child_lines(child_lines[t], &wl_cnt, &wl_lines));
// 遍历物料,判断是否是目标物料
for (int tt = 0; tt < wl_cnt; tt++)
{
// 如果是METarget
if (isMEtarget(wl_lines[tt])) {
tag_t gx_gx_type = NULLTAG;
ITKCALL(GRM_find_relation_type("LB2_WLYGX", &gx_gx_type));
// 把物料下的指定关系文件夹里的对象全部剪切掉
tag_t wl_rev = NULL;
ITKCALL(AOM_ask_value_tag(wl_lines[tt], "bl_line_object", &wl_rev));
printf("开始剪切");
kakaka(wl_rev, gx_gx_type);
printf("剪切完成");
}
}
}
int isME = 0;
// 遍历工艺下所有的工序,进行关系添加
for (int t = 0; t < child_cnt; t++)
{
// 获得工序版本
tag_t child_lines_rev = NULL;
AOM_ask_value_tag(child_lines[t], "bl_line_object", &child_lines_rev);
char *str2 = "MEOPRevision";
if (!checkIsTypeOrSubtype(child_lines_rev, str2))
{
continue;
}
// 判断该工序下是否有目标物料
int wl_cnt = 0;
tag_t *wl_lines = NULL;
// 获得所有的物料
ITKCALL(BOM_line_ask_child_lines(child_lines[t], &wl_cnt, &wl_lines));
int isME = 0;
// 遍历物料,判断是否是目标物料
for (int tt = 0; tt < wl_cnt; tt++)
{
// 如果是METarget,调用“判断物料bom下是否有该工序”函数
if (isMEtarget(wl_lines[tt])) {
isME = 1;
// 如果有,继续判断下一个目标物料,如果没有,函数继续
// wl_lines[tt]:目标物料 child_lines_rev:当前工序版本对象
if (hasThisGx(wl_lines[tt], child_lines_rev)) {
//printf("该工序的目标物料下有该工序\n");
}
else
{
// 如果目标物料下没有,就挂上去
//printf("该工序的目标物料下没有该工序,挂载\n");
setGxInWl(wl_lines[tt], child_lines_rev);
}
}
}
if (isME)
{
continue;
}
int tx = t + 1;
// 遍历后续工序
for (tx; tx < child_cnt; tx++)
{
//printf("第%d个后续工序\n", tx);
char *cs = NULL;
AOM_ask_value_string(child_lines[tx], "object_string", &cs);
//printf("下一道工序的名称是:%s\n", cs);
// 查询工序下的目标物料
int next_child_cnt = 0;
tag_t *next_child_lines = NULL;
ITKCALL(BOM_line_ask_child_lines(child_lines[tx], &next_child_cnt, &next_child_lines));
//printf("下一道工序的子BOM%d\n", next_child_cnt);
if (next_child_cnt < 1)
{
continue;
}
int next_isME = 0;
for (int next_t = 0; next_t < next_child_cnt; next_t++)
{
// 如果是METarget,调用“判断物料bom下是否有该工序”函数
if (isMEtarget(next_child_lines[next_t])) {
next_isME = 1;
// 如果有,继续判断下一个目标物料,如果没有,函数继续
if (hasThisGx(next_child_lines[next_t], child_lines_rev)) {
//printf("该工序的后续工序的目标物料有该工序\n");
}
else
{
// 如果目标物料下没有,就挂上去
setGxInWl(next_child_lines[next_t], child_lines_rev);
//printf("该工序的后续工序的目标物料没有该工序,挂载\n");
}
}
}
if (next_isME == 1)
{
break;
}
//printf("该工序下依然没有目标物料\n");
}
// 如果后续工序都没有目标物料,则从工艺上面拿目标物料
if (tx == child_cnt)
{
// me_num 工艺的目标物料的数量
for ( int m = 0; m < me_num; m++)
{
// me_tags 工艺的所有目标物料
if (hasThisGx2(me_tags[m], child_lines_rev)) {
printf("该工序的工艺的目标物料有该工序\n");
}
else
{
// 如果目标物料下没有,就挂上去
setGxInWl2(me_tags[m], child_lines_rev);
printf("该工序的工艺的目标物料没有该工序,挂载\n");
}
}
}
}
ITKCALL(BOM_close_window(ebom_window));
}
}
return ITK_ok;
}
int LB2_Check_Code_Version_Rule(EPM_rule_message_t msg) {
int att_cnt = 0, *arg_num = NULL;
tag_t task = NULLTAG, rootTask_tag = NULLTAG, *attachments = NULL;
char *arg = NULL, *argflag = NULL, **argvalue = NULL;
char type[128] = "", name[128] = "";
char *str = "LB2_SXMRevision";
char *sType = NULL;
tag_t type_tag = NULLTAG;
task = msg.task;
ITKCALL(EPM_ask_root_task(task, &rootTask_tag));
ITKCALL(EPM_ask_attachments(rootTask_tag, EPM_target_attachment, &att_cnt, &attachments)); // 获取到了选中的所有对象
for (int i = 0; i < att_cnt; i++)
{
// 遍历每一个对象
tag_t rev_tag = attachments[i];
char* obj_str = NULL;
ITKCALL(AOM_ask_value_string(rev_tag, "object_string", &obj_str));
printf("当前对象为:%s\n", obj_str);
int ch_num = 0; // 子对象数量
tag_t *ch_obj = NULLTAG; // 所有子对象
//ITKCALL(AOM_ask_value_tags(rev_tag, "ps_children", &ch_num, &ch_obj));
int is_type = 0; //代表当前对象是否是要求的类
is_type = checkIsTypeOrSubtype(rev_tag, str); //判断是否是其类或者子类
char* s_rjlx = "A"; // 期望软件类型
char* dmbb = NULL; // 代码版本
char* rjlx = NULL; // 软件类型
if (is_type)
{
//printf("是符合条件的烧写码类型\n");
int dnum = 0; // 版本表单数量
tag_t* lxd_tag_forms; // 版本表单
ITKCALL(AOM_ask_value_tags(rev_tag, "IMAN_master_form_rev", &dnum, &lxd_tag_forms)); // 获取版本表单
if (dnum == 0)
{
continue;
}
tag_t lxdform = lxd_tag_forms[0];
char message[512] = "\0";
strcat(message, obj_str); // 报错信息
ITKCALL(AOM_ask_value_string(lxdform, "lb2_rjlx", &rjlx)); // 获取软件类型
if (strcmp(rjlx, s_rjlx) == 0) // 如果是A类型进入第一种情况
{
//printf("是A类型\n");
ITKCALL(AOM_ask_value_string(lxdform, "lb2_dmbb", &dmbb)); // 获取代码版本
printf("获取到的代码版本为:%s\n", dmbb);
char* c_dmbb = dmbb;
//printf("复制过来的代码版本为:%s\n", c_dmbb);
char *buf[10], *p;
int k = 0;
p = NULL;
/*
buf = "hello;world;123" ";" buf
";"
*/
int pi = 0;
p = strtok(c_dmbb, ".");
while (p)
{
if (pi == 3)
{
strcat(message, "代码版本不符合[N.M.M]格式"); // 报错信息
// *报错并返回
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
buf[pi] = p;
++pi;
// 再次调用分割时指针要变为NULL, 也就是这里的第一个参数分割的字符串还是str
// 第二个参数要和第一次调用时的分割符保持一致
p = strtok(NULL, ".");
}
for (k = 0; k < 3; ++k)
{
//printf("分割后的代码版本为:%s\n", buf[k]);
int bb = atoi(buf[k]);
if (k == 0 && (bb <1 || bb > 255))
{
strcat(message, "第一个数字范围不符合要求1~255"); // 报错信息
// *报错并返回
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
if (k == 1 && (bb <0 || bb > 255))
{
strcat(message, "第二个数字范围不符合要求0~255"); // 报错信息
// *报错并返回
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
if (k == 2 && (bb <0 || bb > 255))
{
strcat(message, "第三个数字范围不符合要求0~255"); // 报错信息
// *报错并返回
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
}
}
else
{
//printf("是其它类型\n");
ITKCALL(AOM_ask_value_string(lxdform, "lb2_dmbb", &dmbb)); // 获取代码版本
// 代码版本长度
//printf("代码版本为:%s\n",dmbb);
int strLen = strlen(dmbb);
//printf("代码版本长度为:%d\n", strLen);
if (strLen > 3)
{
int strLen2 = strlen(rjlx); // 软件类型长度
int l;
//判断前几个字符是否是软件类型
for (l = 0; l < strLen2; l++)
{
if (!(rjlx[l] == dmbb[l]))
{
strcat(message, "中的代码版本未以软件类型开头");
//报错并结束
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
}
// 如果去除软件类型之后的长度不等于三,报错
if (l + 3 != strLen)
{
strcat(message, "中的代码版本不是[软件类型]后加三个数字格式");
//报错并结束
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
//判断后三个字符是否是数字
for (; l < strLen; l++)
{
if (dmbb[l] < '0' || dmbb[l] > '9')
{
strcat(message, "中的代码版本后三位不是三个数字格式");
//报错并结束
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
}
}
else
{
strcat(message, "中的代码版本不是[软件类型]+三个数字格式");
//报错并结束
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
}
}
// 遍历当前选中对象的所有子对象
//for (int j = 0; j < ch_num; j++)
//{
// tag_t ch_tag = ch_obj[j];
// is_type = checkIsTypeOrSubtype(ch_tag, str); //判断是否是其类或者子类
// char* ch_str = NULL;
// ITKCALL(AOM_ask_value_string(ch_tag, "object_string", &ch_str));
// int chnum = 0; // 版本表单数量
// tag_t* ch_tag_forms; // 版本表单
// ITKCALL(AOM_ask_value_tags(ch_tag, "IMAN_master_form_rev", &chnum, &ch_tag_forms)); // 获取版本表单
// tag_t chform = ch_tag_forms[0];
// if (is_type)
// {
// char message[512] = "\0";
// strcat(message, ch_str); // 报错信息
// ITKCALL(AOM_ask_value_string(chform, "lb2_rjlx", &rjlx)); // 获取软件类型
// if (strcmp(rjlx, s_rjlx) == 0) // 如果是A类型进入第一种情况
// {
// ITKCALL(AOM_ask_value_string(chform, "lb2_dmbb", &dmbb)); // 获取代码版本
// printf("获取到的代码版本为:%s\n", dmbb);
// char* c_dmbb = dmbb;
// printf("复制过来的代码版本为:%s\n", c_dmbb);
// char *buf[10], *p;
// int k = 0;
// p = NULL;
// /*
// 分割同一字符串,第一次调用时传入字符串的首地址,第二个参数是分割符
// 这里的分割符是空格,假如 buf = "hello;world;123",你还可以按照 ";" 来分割buf
// 此时第二个参数就填写 ";"
// */
// int pi = 0;
// p = strtok(c_dmbb, ".");
// while (p)
// {
// if (pi == 3)
// {
// strcat(message, "代码版本不符合[N.M.M]格式"); // 报错信息
// // *报错并返回
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// buf[pi] = p;
// ++pi;
// // 再次调用分割时指针要变为NULL, 也就是这里的第一个参数分割的字符串还是str
// // 第二个参数要和第一次调用时的分割符保持一致
// p = strtok(NULL, ".");
// }
// for (k = 0; k < 3; ++k)
// {
// //printf("分割后的代码版本为:%s\n", buf[k]);
// int bb = atoi(buf[k]);
// if (k == 0 && (bb <1 || bb > 255))
// {
// strcat(message, "第一个数字范围不符合要求1~255"); // 报错信息
// // *报错并返回
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// if (k == 1 && (bb <0 || bb > 255))
// {
// strcat(message, "第二个数字范围不符合要求0~255"); // 报错信息
// // *报错并返回
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// if (k == 2 && (bb <0 || bb > 255))
// {
// strcat(message, "第三个数字范围不符合要求0~255"); // 报错信息
// // *报错并返回
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// }
// }
// else
// {
// ITKCALL(AOM_ask_value_string(ch_tag, "lb2_dmbb", &dmbb)); // 获取代码版本
// // 代码版本长度
// int strLen = strlen(dmbb);
// if (strLen > 3)
// {
// int strLen2 = strlen(rjlx); // 软件类型长度
// int l;
// //判断前几个字符是否是软件类型
// for (l = 0; l < strLen2; l++)
// {
// if (!(rjlx[l] == dmbb[l]))
// {
// strcat(message, "中的代码版本未以软件类型开头");
// //报错并结束
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// }
// // 如果去除软件类型之后的长度不等于三,报错
// if (l+3 != strLen)
// {
// strcat(message, "中的代码版本不是[软件类型]后加三个数字格式");
// //报错并结束
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// //判断后三个字符是否是数字
// for (; l < strLen; l++)
// {
// if (dmbb[l] < '0' || dmbb[l] > '9')
// {
// strcat(message, "中的代码版本后三位不是三个数字格式");
// //报错并结束
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// }
// }
// else
// {
// strcat(message, "中的代码版本不是[软件类型]+三个数字格式");
// //报错并结束
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// }
// }
//}
}
return EPM_go;
}
// ITKCALL(WSOM_ask_object_type2(c_tags[i], &sType)); // 此方法也可以直接获得子对象的类型
int LB2_Dub_Check_Code_Version(EPM_rule_message_t msg) {
int att_cnt = 0, *arg_num = NULL;
tag_t task = NULLTAG, rootTask_tag = NULLTAG, *attachments = NULL;
char *arg = NULL, *argflag = NULL, **argvalue = NULL;
char type[128] = "", name[128] = "";
char *sType = NULL;
tag_t type_tag = NULLTAG;
task = msg.task;
ITKCALL(EPM_ask_root_task(task, &rootTask_tag));
ITKCALL(EPM_ask_attachments(rootTask_tag, EPM_target_attachment, &att_cnt, &attachments)); // 获取到了选中的所有对象
for (int i = 0; i < att_cnt; i++)
{
// 遍历每一个对象
tag_t rev_tag = attachments[i];
char* obj_str = NULL;
ITKCALL(AOM_ask_value_string(rev_tag, "object_string", &obj_str));
//int ch_num = 0; // 子对象数量
//tag_t *ch_obj = NULLTAG; // 所有子对象
//ITKCALL(AOM_ask_value_tags(rev_tag, "ps_children", &ch_num, &ch_obj));
int is_type = 0; //代表当前对象是否是要求的类
is_type = checkIsTypeOrSubtype(rev_tag, "LB2_SXMRevision"); //判断是否是其类或者子类
//printf("当前检查的版本对象是:%s\n",obj_str);
char message[512] = "\0";
strcat(message, obj_str); // 报错信息
strcat(message, "[代码版本]属性与历史值有重复,不允许通过"); // 报错信息
if (is_type)
{
int dnum = 0; // 版本表单数量
tag_t* lxd_tag_forms; // 版本表单
AOM_ask_value_tags(rev_tag, "IMAN_master_form_rev", &dnum, &lxd_tag_forms); // 获取版本表单
if (dnum < 1)
{
printf("当前选中的版本对象没有版本表单,不进行判断,跳过\n");
continue; // 当前选中的版本对象没有版本表单,不进行判断,跳过
}
tag_t lxdform = lxd_tag_forms[0];
char* dmbb = NULL; // 代码版本
ITKCALL(AOM_ask_value_string(lxdform, "lb2_dmbb", &dmbb)); // 获取代码版本
//printf("代码版本为:%s\n", dmbb);
// 获取当前版本对象的item遍历item的每一个版本检查版本是否有重复
tag_t item_tag = NULL;
tag_t* item_tag_revs = NULL;
int snum = 0;
ITEM_ask_item_of_rev(rev_tag, &item_tag);
ITKCALL(AOM_ask_value_tags(item_tag, "revision_list", &snum, &item_tag_revs)); // 获取所有版本
int sum = 0; // 和当前版本相同的版本的数量;
// 遍历每一个版本对象,获取“代码版本”属性
for (int k = 0; k < snum; k++)
{
tag_t ch_rev = item_tag_revs[k];
int ch_num = 0; // 版本表单数量
tag_t* ch_forms; // 版本表单
ITKCALL(AOM_ask_value_tags(ch_rev, "IMAN_master_form_rev", &ch_num, &ch_forms)); // 获取版本表单
if (ch_num < 1)
{
continue;
}
tag_t chform = ch_forms[0];
char* ch_dmbb = NULL; // 代码版本
ITKCALL(AOM_ask_value_string(chform, "lb2_dmbb", &ch_dmbb)); // 获取代码版本
// 如果遍历到的版本和当前版本相同,则加一,数量大于一则不给通过
if (strcmp(ch_dmbb, dmbb) == 0)
{
sum = sum + 1;
}
}
if (sum > 1)
{
EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
return EPM_nogo;
}
}
//for (int j = 0; j < ch_num; j++)
//{
// tag_t rev_tag = ch_obj[j];
// int is_type = 0; //代表当前对象是否是要求的类
// is_type = checkIsTypeOrSubtype(rev_tag, str); //判断是否是其类或者子类
// char* ch_str = NULL;
// ITKCALL(AOM_ask_value_string(rev_tag, "object_string", &ch_str));
// if (is_type)
// {
// char message[512] = "\0";
// strcat(message, ch_str); // 报错信息
// strcat(message, "[代码版本]属性与历史值有重复,不允许通过"); // 报错信息
// int sum = 0; // 和当前版本相同的版本的数量;
// int dnum = 0; // 版本表单数量
// tag_t* lxd_tag_forms; // 版本表单
// ITKCALL(AOM_ask_value_tags(rev_tag, "IMAN_master_form_rev", &dnum, &lxd_tag_forms)); // 获取版本表单
// tag_t lxdform = lxd_tag_forms[0];
// char* dmbb = NULL; // 代码版本
// ITKCALL(AOM_ask_value_string(lxdform, "lb2_dmbb", &dmbb)); // 获取代码版本
// // 获取当前版本对象的item遍历item的每一个版本检查版本是否有重复
// tag_t item_tag = NULL;
// ITKCALL(AOM_ask_value_tag(rev_tag, "items_tag", &item_tag));
// tag_t* item_tag_revs = NULL;
// int item_rev_num = 0; // item 的版本的数量
// ITKCALL(AOM_ask_value_tags(item_tag, "IMAN_master_form_rev", &item_rev_num, &item_tag_revs)); // 获取item的所有版本
// // 遍历每一个版本对象,获取“代码版本”属性
// for (int k = 0; k < item_rev_num; k++)
// {
// tag_t ch_rev = item_tag_revs[k];
// int ch_num = 0; // 版本表单数量
// tag_t* ch_forms; // 版本表单
// ITKCALL(AOM_ask_value_tags(ch_rev, "IMAN_master_form_rev", &ch_num, &ch_forms)); // 获取版本表单
// tag_t chform = ch_forms[0];
// char* ch_dmbb = NULL; // 代码版本
// ITKCALL(AOM_ask_value_string(chform, "lb2_dmbb", &ch_dmbb)); // 获取代码版本
// // 如果遍历到的版本和当前版本相同,则加一,数量大于一则不给通过
// if (strcmp(ch_dmbb, dmbb) == 0)
// {
// sum = sum + 1;
// }
// }
// if (sum > 1)
// {
// EMH_store_error_s1(EMH_severity_information, EMH_USER_error_base, message);
// return EPM_nogo;
// }
// }
//}
}
return EPM_go;
}

@ -0,0 +1,47 @@
#include <tc/folder.h>
#include <ict/ict_userservice.h>
#include <tccore/custom.h>
#include <epm/epm_toolkit_tc_utils.h>
#include <tccore/aom.h>
#include <tccore/aom_prop.h>
#include <tccore/item.h>
#include <bom/bom.h>
#include <ps/ps.h>;
#include <ps/vrule.h>
#include <sstream>
#include <cfm\cfm.h>
#include <tccore/grm.h>
#include <epm/epm.h>
#include <sa/sa.h>
#include <map>
#include <epm/signoff.h>
#include <ctime>
#include <vector>
#include <locale>
#include <codecvt>
#include <ae/dataset.h>
#include <iostream>
#include <regex>
#include <list>
#include <set>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <tccore/item_errors.h>
#include <ics/ics_enquiry.h>
#include <ict/ict_userservice.h>
#include <bom/bom_msg.h>
#include <tccore/tc_msg.h>
#include <ics/ics.h>
#include <property/prop_msg.h>
#include <bom/bom_msg.h>
#include <tccore/item_msg.h>
int LB_copy_gx(EPM_action_message_t mag);
int LB2_Check_Code_Version_Rule(EPM_rule_message_t mag);
int LB2_Dub_Check_Code_Version(EPM_rule_message_t mag);

@ -0,0 +1,152 @@
#include <server_exits/user_server_exits.h>
#include <tccore/custom.h>
#include <tccore/item_msg.h>
#include <epm/epm.h>
#include "connor_test.h"
#include "stdafx.h"
#include "sjjjy.h"
#include <tc\preferences.h>
//供流程调用的
// 标准的注册供流程调用服务handler的入口 TC_save_msg
extern DLLAPI int USERSERVICE_custom_register_handlers(int *decision, va_list args)
{
char * operation = va_arg(args, char*);
printf("operation============================================================%s\n", operation);
int ifail = ITK_ok, n = 0;
char date_buf[80], *expire_date, env[512], temp1[512], temp2[512];
time_t now;
struct tm *p;
*decision = ALL_CUSTOMIZATIONS;
int status = ITK_ok;
//action handler
(ifail = EPM_register_action_handler("Connor_AVIC_TransToPDF", "Connor_AVIC_TransToPDF", (EPM_action_handler_t)Connor_AVIC_TransToPDF));
if (ifail == 0) {
printf("Registering action handler Connor_AVIC_TransToPDF successful\n");
}
else {
printf("Registering action handler Connor_AVIC_TransToPDF failed %d\n", ifail);
}
(ifail = EPM_register_action_handler("Connor_AVIC_Set_Property", "Connor_AVIC_Set_Property", (EPM_action_handler_t)Connor_AVIC_Set_Property));
if (ifail == 0) {
printf("Registering action handler 1)Connor_AVIC_Set_Property successful\n");
}
else {
printf("Registering action handler 1)Connor_AVIC_Set_Property failed %d\n", ifail);
}
(ifail = EPM_register_action_handler("Connor_AVIC_Check_XYSX", "Connor_AVIC_Check_XYSX", (EPM_action_handler_t)Connor_AVIC_Check_XYSX));
if (ifail == 0) {
printf("Registering action handler Connor_AVIC_Check_XYSX successful\n");
}
else {
printf("Registering action handler Connor_AVIC_Check_XYSX failed %d\n", ifail);
}
(ifail = EPM_register_action_handler("Connor_AVIC_Check_GetInfo", "Connor_AVIC_Check_GetInfo", (EPM_action_handler_t)Connor_AVIC_Check_GetInfo));
if (ifail == 0) {
printf("Registering action handler Connor_AVIC_Check_GetInfo successful\n");
}
else {
printf("Registering action handler Connor_AVIC_Check_GetInfo failed %d\n", ifail);
}
return ifail;
}
extern "C" int POM_AM__set_application_bypass(logical bypass);
int Connor_open_bypass(void* returnValue)
{
POM_AM__set_application_bypass(true);
return 0;
}
int Connor_close_bypass(void* returnValue)
{
POM_AM__set_application_bypass(false);
return 0;
}
extern DLLAPI int USERSERVICE_custom_register_methods(int *decision, va_list args)
{
int
status = ITK_ok,
numberOfArguments = 0,
returnValueType = NULL,
*argumentList = NULL;
USER_function_t functionPtr;
METHOD_id_t mth_tag;
//开旁路
{
numberOfArguments = 1;
functionPtr = Connor_open_bypass;
argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int));
argumentList[0] = USERARG_STRING_TYPE;
returnValueType = USERARG_VOID_TYPE;
char* mth_name = (char*)malloc(1 + sizeof(char) * strlen("CONNOR_open_bypass"));
tc_strcpy(mth_name, "CONNOR_open_bypass");
ITKCALL(status = USERSERVICE_register_method(mth_name, functionPtr, numberOfArguments,
argumentList, returnValueType));
MEM_free(argumentList);
if (status == ITK_ok)
{
printf("Method: %s\n", mth_name);
}
else
{
printf("Method register failed [%d]: %s\n", status, mth_name);
}
}
//关旁路
{
numberOfArguments = 1;
functionPtr = Connor_close_bypass;
argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int));
argumentList[0] = USERARG_STRING_TYPE;
returnValueType = USERARG_VOID_TYPE;
char* mth_name = (char*)malloc(1 + sizeof(char) * strlen("CONNOR_close_bypass"));
tc_strcpy(mth_name, "CONNOR_close_bypass");
ITKCALL(status = USERSERVICE_register_method(mth_name, functionPtr, numberOfArguments,
argumentList, returnValueType));
MEM_free(argumentList);
if (status == ITK_ok)
{
printf("Method: %s\n", mth_name);
}
else
{
printf("Method register failed [%d]: %s\n", status, mth_name);
}
}
numberOfArguments = 1;
functionPtr = TransToPDF;
argumentList = (int*)MEM_alloc(numberOfArguments * sizeof(int));
argumentList[0] = USERARG_STRING_TYPE;
returnValueType = USERARG_VOID_TYPE,
status = USERSERVICE_register_method("TransToPDF", functionPtr, numberOfArguments,argumentList, returnValueType);
MEM_free(argumentList);
if (status == ITK_ok)
{
fprintf(stdout, "\n Registering TransToPDF finished\n");
}
else
{
fprintf(stdout, "\n Registering TransToPDF failed %d\n", status);
}
return ITK_ok;
}

@ -0,0 +1,20 @@
#ifndef EPM_REGISTER_HANDLER_CUSTOM
#define EPM_REGISTER_HANDLER_CUSTOM
#include <epm/epm.h>
#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);
//USERSERVICE_custom_register_methods
#ifdef __cplusplus
}
#endif
#endif

@ -0,0 +1,45 @@
/**
* @headerfile tcua
*/
#include <server_exits/user_server_exits.h>
#include "connor_test.h"
#include <tccore/custom.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 ConsoleApplication1_register_callbacks()
{
int ifail = ITK_ok;
TC_write_syslog("*******************************************************************************\n");
TC_write_syslog("* ConsoleApplication1 register_callbacks is starting *\n");
TC_write_syslog("*******************************************************************************\n");
fprintf(stdout, "\n ConsoleApplication1 注册成功\n");
ITKCALL(ifail = CUSTOM_register_exit("ConsoleApplication1", "USERSERVICE_register_methods",
(CUSTOM_EXIT_ftn_t)USERSERVICE_custom_register_methods));
fprintf(stdout, "\n ConsoleApplication1 registering USERSERVICE_custom_register_methods completed!\n");
ITKCALL(ifail = CUSTOM_register_exit("ConsoleApplication1", "USER_gs_shell_init_module",
(CUSTOM_EXIT_ftn_t)USERSERVICE_custom_register_handlers));
fprintf(stdout, "\n ConsoleApplication1 registering USERSERVICE_custom_register_handlers completed!\n");
return ifail;
}
#ifdef __cplusplus
}
#endif

File diff suppressed because it is too large Load Diff

@ -0,0 +1,53 @@
#include <tc/folder.h>
#include <ict/ict_userservice.h>
#include <tccore/custom.h>
#include <epm/epm_toolkit_tc_utils.h>
#include <tccore/aom.h>
#include <tccore/aom_prop.h>
#include <tccore/item.h>
#include <bom/bom.h>
#include <ps/ps.h>;
#include <ps/vrule.h>
#include <sstream>
#include <cfm\cfm.h>
#include <tccore/grm.h>
#include <epm/epm.h>
#include <sa/sa.h>
#include <map>
#include <epm/signoff.h>
#include <ctime>
#include <vector>
#include <locale>
#include <codecvt>
#include <ae/dataset.h>
#include <iostream>
#include <regex>
#include <list>
#include <set>
#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <algorithm>
#include <tccore/item_errors.h>
#include <ics/ics_enquiry.h>
#include <ict/ict_userservice.h>
#include <bom/bom_msg.h>
#include <tccore/tc_msg.h>
#include <ics/ics.h>
#include <property/prop_msg.h>
#include <bom/bom_msg.h>
#include <tccore/item_msg.h>
int Connor_AVIC_TransToPDF(EPM_action_message_t mag);
int Connor_AVIC_Set_Property(EPM_action_message_t mag);
int Connor_AVIC_Check_XYSX(EPM_action_message_t mag);
int Connor_AVIC_Check_GetInfo(EPM_action_message_t mag);
int TransToPDF(void *returnValue);
//int Cust_Add_BOMLine_Post(METHOD_message_t* msg, va_list args);

@ -0,0 +1,8 @@
// stdafx.cpp : 只包括标准包含文件的源文件
// ConsoleApplication1.pch 将作为预编译头
// stdafx.obj 将包含预编译类型信息
#include "stdafx.h"
// TODO: 在 STDAFX.H 中引用任何所需的附加头文件,
//而不是在此文件中引用

@ -0,0 +1,15 @@
// stdafx.h : 标准系统包含文件的包含文件,
// 或是经常使用但不常更改的
// 特定于项目的包含文件
//
#pragma once
#include "targetver.h"
#include <stdio.h>
#include <tchar.h>
// TODO: 在此处引用程序需要的其他头文件

@ -0,0 +1,8 @@
#pragma once
// 包括 SDKDDKVer.h 将定义可用的最高版本的 Windows 平台。
// 如果要为以前的 Windows 平台生成应用程序,请包括 WinSDKVer.h并将
// 将 _WIN32_WINNT 宏设置为要支持的平台,然后再包括 SDKDDKVer.h。
#include <SDKDDKVer.h>

@ -0,0 +1,128 @@
/**
* @file common_itk_util.cpp
* @brief itk warpper utility function
* @author James
* @history
* ===================================================================================
* Date Name Description of Change
* 18-July-2008 Ray
*/
#include <tc/tc.h>
#include <tc/tc_util.h>
#include <tc/tc_arguments.h>
#include <time.h>
//
#ifdef WIN32
#include <io.h>
#include <direct.h>
#else
//#include <unistd.h>
#endif
//
#include "tc_log.h"
using namespace std;
#define ARGS_LENGTH 200
#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
#define DOFREE(obj) \
{ \
if(obj) \
{ \
MEM_free(obj); \
obj = NULL; \
} \
}
FILE* lidy_logFile = NULL;
char *log_path = NULL;
void CreateLogFile(const char* lidy_logFileName)
{
int i=0;
lidy_logFile = NULL;
if (log_path) {
MEM_free(log_path);
log_path = NULL;
}
log_path = (char*)MEM_alloc((strlen(lidy_logFileName) + 1) * sizeof(char*));
strcpy(log_path, lidy_logFileName);
//get lidy_logFileName
//sprintf(lidy_logFileName, "%s", lidy_logFileName);
printf("log file name: %s\n", lidy_logFileName);
//create log file
if((lidy_logFile = fopen(lidy_logFileName, "a"))==NULL)
{
printf("log file create failed\n");
}
}
void WriteLog(const char* format, ...)
{
va_list arg;
char tmp[8192];
if(lidy_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(lidy_logFile, "%s\n", tmp);
fflush(lidy_logFile);
}
else
{
printf("*!Error!*: Log File Not Exist\n");
}
}
void CloseLog(void)
{
if(lidy_logFile)
{
fclose(lidy_logFile);
lidy_logFile = NULL;
}
if (log_path) {
MEM_free(log_path);
log_path = NULL;
}
}
void log_open(void) {
if (log_path) {
if ((lidy_logFile = fopen(log_path, "a")) == NULL) {
printf("log file create failed\n");
}
}
}
void log_close(void) {
if (lidy_logFile) {
fclose(lidy_logFile);
lidy_logFile = NULL;
}
}

@ -0,0 +1,37 @@
/**
* @file common_itk_util.h
* @brief itk warpper utility function
* @author Ray
* @history
* ===================================================================================
* Date Name Description of Change
* 09-July-2008 Ray
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
using namespace std;
#ifndef TC_LOG_H
#define TC_LOG_H
#ifdef __cplusplus
extern "C" {
#endif
void CreateLogFile(const char* logFileName);
void WriteLog(const char* format, ...);
void CloseLog(void);
void log_open(void);
void log_close(void);
//string getNow(char* format);
//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

@ -0,0 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit
Release|x64|D:\Project\105\ConsoleApplication1\|

@ -0,0 +1,33 @@
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\consoleapplication1.pch
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\vc140.pdb
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\stdafx.obj
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\tc_log.obj
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\sjjjy.obj
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\main_lib.obj
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\consoleapplication1.obj
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\connor_test.obj
z:\tc_install\105\c\consoleapplication1\consoleapplication1\x64\release\connor_handler.obj
z:\tc_install\105\c\consoleapplication1\x64\release\consoleapplication1.lib
z:\tc_install\105\c\consoleapplication1\x64\release\consoleapplication1.exp
z:\tc_install\105\c\consoleapplication1\x64\release\consoleapplication1.dll
z:\tc_install\105\c\consoleapplication1\x64\release\consoleapplication1.ipdb
z:\tc_install\105\c\consoleapplication1\x64\release\consoleapplication1.iobj
z:\tc_install\105\c\consoleapplication1\x64\release\consoleapplication1.pdb
d:\project\105\consoleapplication1\consoleapplication1\x64\release\connor_handler.obj
d:\project\105\consoleapplication1\consoleapplication1\x64\release\connor_test.obj
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consoleapplication1.obj
d:\project\105\consoleapplication1\consoleapplication1\x64\release\main_lib.obj
d:\project\105\consoleapplication1\consoleapplication1\x64\release\sjjjy.obj
d:\project\105\consoleapplication1\consoleapplication1\x64\release\stdafx.obj
d:\project\105\consoleapplication1\consoleapplication1\x64\release\tc_log.obj
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consoleapplication1.pch
d:\project\105\consoleapplication1\consoleapplication1\x64\release\vc140.pdb
d:\project\105\consoleapplication1\x64\release\consoleapplication1.pdb
d:\project\105\consoleapplication1\x64\release\consoleapplication1.dll
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consolea.39ca478e.tlog\cl.command.1.tlog
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consolea.39ca478e.tlog\cl.read.1.tlog
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consolea.39ca478e.tlog\cl.write.1.tlog
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consolea.39ca478e.tlog\consoleapplication1.write.1u.tlog
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consolea.39ca478e.tlog\link.command.1.tlog
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consolea.39ca478e.tlog\link.read.1.tlog
d:\project\105\consoleapplication1\consoleapplication1\x64\release\consolea.39ca478e.tlog\link.write.1.tlog

@ -0,0 +1,49 @@
 stdafx.cpp
connor_handler.cpp
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
d:\project\105\consoleapplication1\consoleapplication1\connor_handler.h(9): warning C4067: 预处理器指令后有意外标记 - 应输入换行符
connor_handler.cpp(541): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
connor_handler.cpp(546): warning C4267: “初始化”: 从“size_t”转换到“int”可能丢失数据
connor_test.cpp
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
d:\project\105\consoleapplication1\consoleapplication1\sjjjy.h(9): warning C4067: 预处理器指令后有意外标记 - 应输入换行符
connor_test.cpp(19): warning C4101: “now”: 未引用的局部变量
connor_test.cpp(18): warning C4101: “temp2”: 未引用的局部变量
connor_test.cpp(18): warning C4101: “expire_date”: 未引用的局部变量
connor_test.cpp(18): warning C4101: “date_buf”: 未引用的局部变量
connor_test.cpp(20): warning C4101: “p”: 未引用的局部变量
connor_test.cpp(18): warning C4101: “env”: 未引用的局部变量
connor_test.cpp(18): warning C4101: “temp1”: 未引用的局部变量
connor_test.cpp(84): warning C4101: “mth_tag”: 未引用的局部变量
ConsoleApplication1.cpp
main_lib.cpp
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
sjjjy.cpp
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
d:\project\105\consoleapplication1\consoleapplication1\connor_handler.h(9): warning C4067: 预处理器指令后有意外标记 - 应输入换行符
d:\project\105\consoleapplication1\consoleapplication1\sjjjy.h(9): warning C4067: 预处理器指令后有意外标记 - 应输入换行符
sjjjy.cpp(358): warning C4267: “参数”: 从“size_t”转换到“int”可能丢失数据
sjjjy.cpp(160): warning C4101: “gxkbh”: 未引用的局部变量
sjjjy.cpp(907): warning C4129: “s”: 不可识别的字符转义序列
sjjjy.cpp(908): warning C4129: “s”: 不可识别的字符转义序列
sjjjy.cpp(908): warning C4477: 'printf' : format string '%d' requires an argument of type 'int', but variadic argument 1 has type 'unsigned __int64'
sjjjy.cpp(908): note: consider using '%zd' in the format string
sjjjy.cpp(1887): warning C4267: “=”: 从“size_t”转换到“int”可能丢失数据
tc_log.cxx
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\WorkEnvironment\tc12ITK\dflittk\include\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
tc_log.cxx(59): warning C4267: “参数”: 从“size_t”转换到“int”可能丢失数据
正在创建库 D:\Project\105\ConsoleApplication1\x64\Release\ConsoleApplication1.lib 和对象 D:\Project\105\ConsoleApplication1\x64\Release\ConsoleApplication1.exp
正在生成代码
d:\project\105\consoleapplication1\consoleapplication1\sjjjy.cpp(1155): warning C4172: 返回局部变量或临时变量的地址: readBuffer
d:\project\105\consoleapplication1\consoleapplication1\sjjjy.cpp(1355): warning C4715: “Connor_AVIC_TransToPDF”: 不是所有的控件路径都返回值
d:\project\105\consoleapplication1\consoleapplication1\sjjjy.cpp(2087): warning C4715: “Connor_AVIC_Check_GetInfo”: 不是所有的控件路径都返回值
471 of 473 functions (99.6%) were compiled, the rest were copied from previous compilation.
0 functions were new in current compilation
0 functions had inline decision re-evaluated but remain unchanged
已完成代码的生成
ConsoleApplication1.vcxproj -> D:\Project\105\ConsoleApplication1\x64\Release\ConsoleApplication1.dll

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save