Merge pull request 'zxk' (#3) from zxk into master

main
邹旭科 5 years ago
commit 14129f5094

@ -129,7 +129,11 @@
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;IPLIB=none;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<<<<<<< HEAD
<AdditionalIncludeDirectories>D:\work\include12_2;D:\work\include_cpp12_2;C:\Java\jdk1.8.0_231\include\win32;C:\Java\jdk1.8.0_231\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
=======
<AdditionalIncludeDirectories>C:\Users\lyf\Documents\tclib\include;C:\Users\lyf\Documents\tclib\include_cpp;C:\Program Files\Java\jdk1.8.0_212\include\win32;C:\Program Files\Java\jdk1.8.0_212\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
>>>>>>> 75d75317d3feeaf219ba70fbc3430469d70d2d05
<CallingConvention>Cdecl</CallingConvention>
</ClCompile>
<Link>
@ -139,7 +143,11 @@
<OptimizeReferences>true</OptimizeReferences>
<AdditionalLibraryDirectories>
</AdditionalLibraryDirectories>
<<<<<<< HEAD
<AdditionalDependencies>D:\work\lib12_2\*.lib;%(AdditionalDependencies)</AdditionalDependencies>
=======
<AdditionalDependencies>C:\Users\lyf\Documents\tclib\tc12\lib\*.lib;%(AdditionalDependencies)</AdditionalDependencies>
>>>>>>> 75d75317d3feeaf219ba70fbc3430469d70d2d05
<IgnoreSpecificDefaultLibraries>libuser_exits.ar.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OutputFile>$(OutDir)\bs.dll</OutputFile>
<AdditionalOptions>/FORCE %(AdditionalOptions)</AdditionalOptions>
@ -165,6 +173,7 @@
<ClCompile Include="epm_register_handler.cxx" />
<ClCompile Include="bs_custom_main.cxx" />
<ClCompile Include="jd_clear_field.cpp" />
<ClCompile Include="jd_schedule_joint.cpp" />
<ClCompile Include="jd_signoff.cpp" />
<ClCompile Include="util.cpp" />
</ItemGroup>

@ -73,6 +73,12 @@
<ClCompile Include="bs_test_release_check.cpp">
<Filter>epm-handler</Filter>
</ClCompile>
<<<<<<< HEAD
<ClCompile Include="jd_schedule_joint.cpp">
<Filter>epm-handler</Filter>
</ClCompile>
=======
>>>>>>> 75d75317d3feeaf219ba70fbc3430469d70d2d05
</ItemGroup>
<ItemGroup>
<ClInclude Include="epm_register_handler.h">

@ -46,6 +46,7 @@ int bs_sign_cad(EPM_action_message_t msg);
int jd_signoff(EPM_action_message_t msg);
int bs_test_release_check(EPM_rule_message_t msg);
int bs_bypass(void *retValType);
int jd_schedule_joint(EPM_action_message_t msg);
////<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣǩ<CFA2><C7A9><EFBFBD><E6B1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ
//int qtmc_sign_ir(EPM_action_message_t msg);

@ -138,6 +138,13 @@ extern DLLAPI int CUST_init_module(int *decision, va_list args)
printf("register jd_signoff successfully\n");
}
ifail = EPM_register_action_handler("jd_schedule_joint", "jd_schedule_joint",
(EPM_action_handler_t)jd_schedule_joint);
if (ifail == ITK_ok) {
fprintf(stdout, "Registering action handler jd_schedule_joint completed!\n");
} else {
fprintf(stdout, "Registering action handler jd_schedule_joint failed %d!\n", ifail);
}
//if(ifail == ITK_ok)
//{
// fprintf(stdout,"Registering action handler qtmc-sign-ir completed!\n");

@ -0,0 +1,155 @@
#include "epm_handler_common.h"
#include <tc\tc_macros.h>
#include <tc\emh.h>
#include <tc\preferences.h>
#include <property\propdesc.h>
#include <epm\epm.h>
#include <epm\epm_toolkit_tc_utils.h>
#include <tccore\item.h>
#include <tccore\grmtype.h>
#include <tccore\grm.h>
#include <tccore\imantype.h>
#include <sa\am.h>
#include <sa\sa.h>
#include <tccore\aom.h>
#include <tccore\aom_prop.h>
#include <property\prop_errors.h>
#include <tccore\workspaceobject.h>
#include <qry\qry.h>
#include <bom\bom_attr.h>
#include <bom\bom.h>
#include <epm\signoff.h>
#include <pom\pom\pom.h>
#include <pom\pom\pom_errors.h>
#include <fclasses\tc_date.h>
#include <epm\cr.h>
#include <cfm\cfm.h>
#include <sa\am.h>
#include "tc/envelope.h"
#include <stdio.h>
#include "ae/dataset.h"
#include <ctype.h>
#include <string.h>
#include <string>
#include <iostream>
#include <iterator>
#include <map>
#include <vector>
#include "ce/ce.h"
#include <time.h>
#include <windows.h>
#include <iostream>
#include <sql.h>
#include <sqlext.h>
#include "string"
#include "sstream"
#include <sa/tcfile.h>
#include <tccore/aom.h>
#include <sa/tcfile_cache.h>
#include <form/form.h>
#include "ctime"
#include "tchar.h"
using namespace std;
extern "C" int POM_AM__set_application_bypass(logical bypass);
/**
*
*/
int jd_schedule_joint(EPM_action_message_t msg) {
printf("===================================\n");
printf("设置时间表名称 开始\n");
printf("===================================\n");
printf("开超级权限\n");
POM_AM__set_application_bypass(true);
int ifail = ITK_ok;
tag_t tast_tag = NULL_TAG, job;
tast_tag = msg.task;
if (tast_tag != NULL_TAG) {
char * task_name = NULL;
int count = 0;
tag_t * schdule_task_nodes = NULL;
printf("开始获取SCHDULE任务 \n");
AOM_ask_value_tags(tast_tag, "project_task_attachments", &count, &schdule_task_nodes);
printf("获取SCHDULE任务 count =[%d] \n", count);
//printf("task_name:%s\n",task_name);
printf("task_name-------------\n");
if (count >0) {
char * schdule_task_node_type = NULL;
AOM_ask_value_string(schdule_task_nodes[0], "object_type", &schdule_task_node_type);
char * scheduleTaskName = NULL;
//char finish_date_str[300] = "";
printf("object_type:%s\n", schdule_task_node_type);
if (strcmp(schdule_task_node_type, "ScheduleTask") == 0) {
tag_t schdule = NULL_TAG;
// date_t finish_date ;
AOM_ask_value_tag(schdule_task_nodes[0], "schedule_tag", &schdule);
AOM_ask_value_string(schdule_task_nodes[0], "object_name", &scheduleTaskName);
printf("scheduleTaskName:%s\n", scheduleTaskName);
if (schdule != NULL_TAG) {
char * job_name = NULL;
EPM_ask_job(tast_tag, &job);
AOM_ask_value_string(job, "object_name", &job_name);
stringstream ss;
tag_t* project_list;
int project_cnt;
char* project_name = NULL;
char* project_id = NULL;
AOM_ask_value_tags(schdule,"project_list",&project_cnt,&project_list);
AOM_ask_value_string(project_list[0], "project_id", &project_id);
AOM_ask_value_string(project_list[0], "object_name", &project_name);
ss << job_name;
ss << "-";
ss << project_id;
ss << "-";
ss << project_name;
printf("new job name %s\n",ss.str().c_str());
AOM_lock(job);
AOM_set_value_string(job, "object_name", ss.str().c_str());
//printf("str:%s\n", finish_date_str);
printf("设置属性\n");
AOM_save(job);
AOM_unlock(job);
if (job_name != NULL) {
MEM_free(job_name);
job_name = NULL;
}
if (project_id != NULL) {
MEM_free(project_id);
project_id = NULL;
}
if (project_name != NULL) {
MEM_free(project_name);
project_name = NULL;
}
}
}
if (schdule_task_node_type != NULL) {
MEM_free(schdule_task_node_type);
schdule_task_node_type = NULL;
}
}
if (task_name != NULL) {
MEM_free(task_name);
task_name = NULL;
}
if (schdule_task_nodes != NULL) {
MEM_free(schdule_task_nodes);
schdule_task_nodes = NULL;
}
}
printf("关超级权限\n");
POM_AM__set_application_bypass(false);
printf("===================================\n");
printf("设置时间表名称 结束\n");
printf("===================================\n");
return ifail;
}

@ -111,6 +111,7 @@ static void replace_dataset_named_reference(tag_t dataset_tag, tag_t old_file,
AOM_lock(old_file);
IMF_ask_original_file_name2(old_file, &name);
printf("old name:%s\n",name);
IMF_replace_file_and_get_new_tag(old_file, new_file_path,
FALSE, &new_file_tag);
@ -142,8 +143,7 @@ bool isTypeOf(tag_t objtag, const char * type_name) {
return is_type;
}
string GBKToUTF8(const char* strGBK)
{
string GBKToUTF8(const char* strGBK) {
int len = MultiByteToWideChar(CP_ACP, 0, strGBK, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len + 1];
memset(wstr, 0, len + 1);
@ -164,10 +164,14 @@ string GBKToUTF8(const char* strGBK)
-name
*/
static int sign(JNIEnv* env, jclass class_Test, const char* path, char* name, char* sign_location, char* sign_str) {
stringstream ss;
printf("signin\n");
jmethodID methodId_main = env->GetStaticMethodID(class_Test, "sign", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I");
if (methodId_main == NULL) {
printf("error, check jar location\n");
ss << "找不到sign2fileRunnable.jar 确认路径为:";
ss << REMOTEJARPATH;
EMH_store_error_s1(EMH_severity_error, EMH_ATTR_error_base, ss.str().c_str());
return 0;
}
string path1 = GBKToUTF8(path);
@ -187,8 +191,7 @@ static int sign(JNIEnv* env, jclass class_Test,const char* path, char* name, cha
return res;
}
void add_path(JNIEnv* env, const std::string& path)
{
void add_path(JNIEnv* env, const std::string& path) {
const std::string urlPath = "file:/" + path;
jclass classLoaderCls = env->FindClass("java/lang/ClassLoader");
printf("111\n");
@ -203,17 +206,26 @@ void add_path(JNIEnv* env, const std::string& path)
std::cout << "Added " << urlPath << " to the classpath." << std::endl;
}
bool find(int prop_cnt, char** props, char* prop) {
for (int i = 0;i < prop_cnt;i++) {
if (tc_strcmp(props[i], prop) == 0) {
return true;
}
}
return false;
}
//吉德表单签名
int jd_signoff(EPM_action_message_t msg) {
const char *sign_location, *sign_str;
int ifail = ITK_ok, att_count, objects_count,pref_count;
int ifail = ITK_ok, att_count, objects_count, pref_count, prop_cnt;
tag_t rootTask, *attachments, user_tag, *objects;
char *user_name,**pref_values, *prop;
char *user_name, **pref_values, **prop_names;
logical verdict;
bool flag;
stringstream sign_date;
stringstream sign_date, errorMsg;
//获取时间
time_t t;
time(&t);
@ -295,6 +307,10 @@ int jd_signoff(EPM_action_message_t msg) {
flag = true;
}
if (!flag) {
errorMsg << "流程参数\"";
errorMsg << sign_location;
errorMsg << "\"不存在于首选项中,检查首选项\"jd2_signoff_list\"!";
EMH_store_error_s1(EMH_severity_error, EMH_ATTR_error_base, errorMsg.str().c_str());
return -1;
}
@ -416,23 +432,38 @@ int jd_signoff(EPM_action_message_t msg) {
if (isTypeOf(attachments[ii], "ItemRevision")) {
ITKCALL(AOM_ask_value_tags(attachments[ii], "IMAN_master_form_rev", &objects_count, &objects));
//表单签名
map<char*, char*> props;
for (auto iii = 0; iii < objects_count; iii++) {
ITKCALL(AOM_ask_prop_names(objects[iii], &prop_cnt, &prop_names));
AOM_lock(objects[iii]);
if (strcmp("clear", sign_location) == 0) {
for (int i = 0;i < pref_count;i++) {
sign_date.str("");
sign_date << pref_values[i];
sign_date << "rq";
AOM_ask_value_string(attachments[ii], pref_values[i], &prop);
if (tc_strlen(prop)!=0) {
AOM_set_value_string(objects[iii], pref_values[i], "");
AOM_set_value_string(objects[iii], sign_date.str().c_str(), "");
if (find(prop_cnt, prop_names, pref_values[i])) {
ITKCALL(AOM_set_value_string(objects[iii], pref_values[i], ""));
} else {
printf("属性\"%s\"不存在", pref_values[i]);
}
if (find(prop_cnt, prop_names, (char*)sign_date.str().c_str())) {
ITKCALL(AOM_set_value_string(objects[iii], sign_date.str().c_str(), ""));
} else {
printf("属性\"%s\"不存在", sign_date.str().c_str());
}
}
printf("sign clear\n");
} else {
AOM_set_value_string(objects[iii], sign_location, user_name);
AOM_set_value_string(objects[iii], sign_date.str().c_str(), date.str().c_str());
if (find(prop_cnt, prop_names, (char*)sign_location)) {
ITKCALL(AOM_set_value_string(objects[iii], sign_location, user_name));
} else {
printf("属性\"%s\"不存在", sign_location);
}
if (find(prop_cnt, prop_names, (char*)sign_date.str().c_str())) {
ITKCALL(AOM_set_value_string(objects[iii], sign_date.str().c_str(), date.str().c_str()));
} else {
printf("属性\"%s\"不存在", sign_date.str().c_str());
}
printf("%s,%s signoff\n", sign_location, sign_date.str().c_str());
}
@ -476,12 +507,16 @@ int jd_signoff(EPM_action_message_t msg) {
int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word");
} else {
return -1;
}
} else if (file_type == 1) {
class_Test = env->FindClass("sign2file/SignToExcel");
int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel");
} else {
return -1;
}
}
file_type = -1;
@ -520,12 +555,16 @@ int jd_signoff(EPM_action_message_t msg) {
int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], word_ref, ss.str().c_str(), "word");
} else {
return -1;
}
} else if (file_type == 1) {
class_Test = env->FindClass("sign2file/SignToExcel");
int res = sign(env, class_Test, ss.str().c_str(), user_name, (char*)sign_location, (char*)temps.str().c_str());
if (res) {
replace_dataset_named_reference(dataset[i], excel_ref, ss.str().c_str(), "excel");
} else {
return -1;
}
}
file_type = -1;

@ -1,118 +1,21 @@
 bs_bom_check.cpp
c1xx : fatal error C1083: 无法打开源文件: “bs_bom_check.cpp”: No such file or directory
bs_bom_save_check.cpp
c1xx : fatal error C1083: 无法打开源文件: “bs_bom_save_check.cpp”: No such file or directory
bs_bypass.cpp
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bs_file_transfer.cpp
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bs_sap.cpp
bs_sap.cpp(1): fatal error C1083: 无法打开包括文件: “util.h”: No such file or directory
bs_signoff.cxx
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
bs_signoff.cxx(63): 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)\Windows Kits\10\Include\10.0.10240.0\ucrt\time.h(505): note: 参见“localtime”的声明
bs_sign_cad.cpp
c1xx : fatal error C1083: 无法打开源文件: “bs_sign_cad.cpp”: No such file or directory
bs_wl_check.cpp
c1xx : fatal error C1083: 无法打开源文件: “bs_wl_check.cpp”: No such file or directory
epm_register_handler.cxx
 epm_register_handler.cxx
epm_register_handler.cxx(50): warning C4101: “now”: 未引用的局部变量
epm_register_handler.cxx(49): warning C4101: “expire_date”: 未引用的局部变量
epm_register_handler.cxx(49): warning C4101: “date_buf”: 未引用的局部变量
epm_register_handler.cxx(51): warning C4101: “p”: 未引用的局部变量
bs_custom_main.cxx
jd_clear_field.cpp
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
jd_clear_field.cpp(119): warning C4267: “初始化”: 从“size_t”转换到“uint32_t”可能丢失数据
jd_clear_field.cpp(181): warning C4190: “GBKToUTF8”有指定的 C 链接,但返回了与 C 不兼容的 UDT“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\xstring(2633): note: 参见“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”的声明
jd_clear_field.cpp(251): 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)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明
jd_clear_field.cpp(271): warning C4996: '_snprintf': This function or variable may be unsafe. Consider using _snprintf_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.10240.0\ucrt\stdio.h(1952): note: 参见“_snprintf”的声明
jd_clear_field.cpp(283): 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)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明
jd_clear_field.cpp(285): warning C4477: “printf”: 格式字符串“%s”需要类型“char *”的参数,但可变参数 1 拥有了类型“const wchar_t *”
jd_clear_field.cpp(285): note: 请考虑在格式字符串中使用“%ls”
jd_clear_field.cpp(285): note: 请考虑在格式字符串中使用“%lls”
jd_clear_field.cpp(285): note: 请考虑在格式字符串中使用“%Ls”
jd_clear_field.cpp(285): note: 请考虑在格式字符串中使用“%ws”
jd_clear_field.cpp(245): warning C4101: “rev_attachments”: 未引用的局部变量
jd_clear_field.cpp(244): warning C4101: “ref_obj”: 未引用的局部变量
jd_clear_field.cpp(242): warning C4101: “attach_type”: 未引用的局部变量
jd_clear_field.cpp(492): warning C4101: “err_function”: 未引用的局部变量
jd_clear_field.cpp(492): warning C4101: “err_string”: 未引用的局部变量
jd_signoff.cpp
C:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
C:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
jd_signoff.cpp(80): warning C4267: “初始化”: 从“size_t”转换到“uint32_t”可能丢失数据
jd_signoff.cpp(213): 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)\Windows Kits\10\Include\10.0.10240.0\ucrt\time.h(505): note: 参见“localtime”的声明
jd_signoff.cpp(233): 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)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明
jd_signoff.cpp(309): 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)\Windows Kits\10\Include\10.0.10240.0\ucrt\stdlib.h(1183): note: 参见“getenv”的声明
jd_signoff.cpp(209): warning C4101: “verdict”: 未引用的局部变量
jd_signoff.cpp(227): warning C4101: “rev_attachments”: 未引用的局部变量
jd_signoff.cpp(226): warning C4101: “ref_obj”: 未引用的局部变量
jd_signoff.cpp(224): warning C4101: “attach_type”: 未引用的局部变量
util.cpp
c1xx : fatal error C1083: 无法打开源文件: “util.cpp”: No such file or directory
jd_schedule_joint.cpp
d:\work\vs_workspace\jditk\hezon_itk\epm_handler_common.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\work\include12_2\pom/pom/pom.h(806): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
D:\work\include12_2\pom/pom/pom.h(5417): warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
正在生成代码...
c:\java\jdk1.8.0_231\include\jni.h(1442): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1445): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1447): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1352): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1355): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1357): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(868): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(871): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(873): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1051): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1053): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1055): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\work\vs_workspace\jditk\hezon_itk\jd_clear_field.cpp(468): warning C4793: “JD_Revise_clear”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\work\vs_workspace\jditk\hezon_itk\jd_clear_field.cpp(469): warning C4793: “JD_Revise_clear”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1442): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1445): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1447): warning C4793: “JNIEnv_::CallStaticIntMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1352): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1355): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1357): warning C4793: “JNIEnv_::CallStaticObjectMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(868): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(871): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(873): warning C4793: “JNIEnv_::NewObject”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1051): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
/clr 下不支持 varargs
c:\java\jdk1.8.0_231\include\jni.h(1053): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
c:\java\jdk1.8.0_231\include\jni.h(1055): warning C4793: “JNIEnv_::CallVoidMethod”: 编译为本机的函数:
托管代码中发现一个不受支持的内部函数
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1189,5): warning MSB8012: TargetPath(D:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.dll) does not match the Linker's OutputFile property value (D:\work\vs_workspace\jditk\x64\Release\bs.dll). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(1191,5): warning MSB8012: TargetName(HEZON_ITK) does not match the Linker's OutputFile property value (bs). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
util.obj : warning LNK4006: "bool __cdecl isTypeOf(unsigned int,char const *)" (?isTypeOf@@$$FYA_NIPEBD@Z) 已在 jd_signoff.obj 中定义;已忽略第二个定义
util.obj : warning LNK4006: "bool __cdecl isTypeOf(unsigned int,char const *)" (?isTypeOf@@YA_NIPEBD@Z) 已在 jd_signoff.obj 中定义;已忽略第二个定义
MSVCRT.lib(default_local_stdio_options.obj) : warning LNK4006: __local_stdio_printf_options 已在 libassy_jt.lib(libassy_jt.dll) 中定义;已忽略第二个定义
正在创建库 D:\work\vs_workspace\jditk\x64\Release\\bs.lib 和对象 D:\work\vs_workspace\jditk\x64\Release\\bs.exp
jd_signoff.obj : warning LNK4248: 无法解析 typeref 标记(01000016)(为“_jmethodID”);映像可能无法运行
jd_clear_field.obj : warning LNK4248: 无法解析 typeref 标记(01000017)(为“_jmethodID”);映像可能无法运行
D:\work\vs_workspace\jditk\x64\Release\\bs.dll : warning LNK4088: 因 /FORCE 选项生成了映像;映像可能不能运行
HEZON_ITK.vcxproj -> D:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.dll
HEZON_ITK.vcxproj -> D:\work\vs_workspace\jditk\x64\Release\HEZON_ITK.pdb (Full PDB)

@ -11,6 +11,8 @@ Assembly System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c5619
hash=None, flags=None
Assembly System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:
hash=None, flags=None
Assembly Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a:
hash=None, flags=None
Class SI_PLM001_PLM2ERP_SOAP2Proxy_Syn_ReqService: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
:System.Web.Services.Protocols.SoapHttpClientProtocol
Void .ctor(): PrivateScope, Public, HideBySig, SpecialName, RTSpecialName
@ -463,5 +465,119 @@ Class Testdll.Testclass: AutoLayout, AnsiClass, Class, Public, BeforeFieldInit
Send(String, String, String): PrivateScope, Public, HideBySig
send_material(String, String, String, Dictionary`2): PrivateScope, Public, HideBySig
send_bom(String, String, String, List`1): PrivateScope, Public, HideBySig
signCad(String, String, Dictionary`2, String&(Out)): PrivateScope, Public, Static, HideBySig
signCad(String, String, Dictionary`2): PrivateScope, Public, Static, HideBySig
Encrypt(String, String): PrivateScope, Public, HideBySig
Decrypt(String, String): PrivateScope, Public, HideBySig
Interface Autodesk.AutoCAD.Interop.AcadApplication: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.IAcadApplication
Autodesk.AutoCAD.Interop._DAcadApplicationEvents_Event
Interface Autodesk.AutoCAD.Interop.AcadDocument: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.IAcadDocument
Autodesk.AutoCAD.Interop.Common.IAcadDatabase
Autodesk.AutoCAD.Interop._DAcadDocumentEvents_Event
Interface Autodesk.AutoCAD.Interop.AcadDocuments: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.IAcadDocuments
System.Collections.IEnumerable
Interface Autodesk.AutoCAD.Interop.IAcadApplication: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Properties:
Boolean Visible 'get set' :
Autodesk.AutoCAD.Interop.AcadDocuments Documents 'get ' :
Methods:
get_Visible(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
set_Visible(Boolean(In)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
Quit(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
get_Documents(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
Interface Autodesk.AutoCAD.Interop.IAcadDocument: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadDatabase
Properties:
Autodesk.AutoCAD.Interop.Common.AcadModelSpace ModelSpace 'get ' :
Methods:
get_ModelSpace(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
SaveAs(String(In, HasFieldMarshal), Object(In, Optional, HasFieldMarshal), Object(In, Optional, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
Close(Object(In, Optional, HasFieldMarshal), Object(In, Optional, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
Interface Autodesk.AutoCAD.Interop.IAcadDocuments: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
System.Collections.IEnumerable
Methods:
Item(Object(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
Open(String(In, HasFieldMarshal), Object(In, Optional, HasFieldMarshal), Object(In, Optional, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
Interface Autodesk.AutoCAD.Interop._DAcadApplicationEvents: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interface Autodesk.AutoCAD.Interop._DAcadApplicationEvents_Event: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interface Autodesk.AutoCAD.Interop._DAcadDocumentEvents: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interface Autodesk.AutoCAD.Interop._DAcadDocumentEvents_Event: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interface Autodesk.AutoCAD.Interop.Common.AcadAttributeReference: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadAttributeReference
Autodesk.AutoCAD.Interop.Common.IAcadEntity
Autodesk.AutoCAD.Interop.Common.IAcadObject
Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event
Interface Autodesk.AutoCAD.Interop.Common.AcadBlockReference: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadBlockReference
Autodesk.AutoCAD.Interop.Common.IAcadEntity
Autodesk.AutoCAD.Interop.Common.IAcadObject
Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event
Interface Autodesk.AutoCAD.Interop.Common.AcadEntity: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadEntity
Autodesk.AutoCAD.Interop.Common.IAcadObject
Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event
Interface Autodesk.AutoCAD.Interop.Common.AcadModelSpace: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadModelSpace
Autodesk.AutoCAD.Interop.Common.IAcadBlock
Autodesk.AutoCAD.Interop.Common.IAcadObject
System.Collections.IEnumerable
Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event
Interface Autodesk.AutoCAD.Interop.Common.IAcadAttributeReference: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadEntity
Autodesk.AutoCAD.Interop.Common.IAcadObject
Properties:
System.String TagString 'get set' :
System.String TextString 'get set' :
Methods:
get_TagString(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
set_TagString(String(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
get_TextString(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
set_TextString(String(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
Interface Autodesk.AutoCAD.Interop.Common.IAcadBlock: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadObject
System.Collections.IEnumerable
Methods:
Item(Object(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
Interface Autodesk.AutoCAD.Interop.Common.IAcadBlockReference: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadEntity
Autodesk.AutoCAD.Interop.Common.IAcadObject
Properties:
System.String Name 'get set' :
Methods:
get_Name(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
set_Name(String(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
GetAttributes(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
Interface Autodesk.AutoCAD.Interop.Common.IAcadDatabase: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interface Autodesk.AutoCAD.Interop.Common.IAcadEntity: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadObject
Properties:
System.String EntityName 'get ' :
Methods:
get_EntityName(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract, SpecialName
Interface Autodesk.AutoCAD.Interop.Common.IAcadModelSpace: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interfaces:
Autodesk.AutoCAD.Interop.Common.IAcadBlock
Autodesk.AutoCAD.Interop.Common.IAcadObject
System.Collections.IEnumerable
Methods:
Item(Object(In, HasFieldMarshal)): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
GetEnumerator(): PrivateScope, Public, Virtual, HideBySig, VtableLayoutMask, Abstract
Interface Autodesk.AutoCAD.Interop.Common.IAcadObject: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interface Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import
Interface Autodesk.AutoCAD.Interop.Common.IAcadObjectEvents_Event: AutoLayout, AnsiClass, Class, Public, ClassSemanticsMask, Abstract, Import

@ -1,2 +1,2 @@
#TargetFrameworkVersion=v4.0:PlatformToolSet=v140:EnableManagedIncrementalBuild=true:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=8.1
Release|x64|C:\work\vs_workspace\jditk\|
Release|x64|D:\work\vs_workspace\jditk\|

Binary file not shown.

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save