func_template.cpp

来自「故障诊断工作涉及的领域相当广泛」· C++ 代码 · 共 374 行 · 第 1/2 页

CPP
374
字号
// func_template.cpp: implementation of the func_template class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "richtest.h"
#include "func_template.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
int invoke(IDispatch* dp,disp_conector* pit,int the_func_type,VARIANT* out_bag, VARIANT* in_bag)
{
//	if(the_func_type==fun_3i1o)
//	pit->p3i1o(dp,1,out_bag,\
//							*in_bag,*(in_bag+1),*(in_bag+2));
	
						if(the_func_type==fun_0i0o)
						pit->p0i0o(dp,0);
						else if(the_func_type== fun_0i1o)
						pit->p0i1o(dp,1,out_bag);
						else if(the_func_type== fun_0i2o)
						pit->p0i2o(dp,2,out_bag,out_bag+1);
						else if(the_func_type== fun_0i3o)
						pit->p0i3o(dp,3,out_bag,out_bag+1,out_bag+2);
						else if(the_func_type== fun_0i4o)
						pit->p0i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3);
						else if(the_func_type==fun_1i0o)
						pit->p1i0o(dp,*in_bag);
						else if(the_func_type== fun_1i1o)
						pit->p1i1o(dp,1,out_bag,*in_bag);
						else if(the_func_type== fun_1i2o)
						pit->p1i2o(dp,2,out_bag,out_bag+1,*in_bag);
						else if(the_func_type== fun_1i3o)
						pit->p1i3o(dp,3,out_bag,out_bag+1,out_bag+2,*in_bag);
						else if(the_func_type== fun_1i4o)
						pit->p1i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,*in_bag);
						else if(the_func_type== fun_2i0o)
						pit->p2i0o(dp,*in_bag,*(in_bag+1));
						else if(the_func_type== fun_2i1o)
						pit->p2i1o(dp,1,out_bag,*in_bag,*(in_bag+1));
						else if(the_func_type== fun_2i2o)
						pit->p2i2o(dp,2,out_bag,out_bag+1,*in_bag,*(in_bag+1));
						else if(the_func_type== fun_2i3o)
						pit->p2i3o(dp,3,out_bag,out_bag+1,out_bag+2,*in_bag,*(in_bag+1));
						else if(the_func_type== fun_2i4o)
						pit->p2i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,*in_bag,*(in_bag+1));
						else if(the_func_type== fun_3i0o)
						pit->p3i0o(dp,\
							*in_bag,*(in_bag+1),*(in_bag+2));
						else if(the_func_type== fun_3i1o)
							pit->p3i1o(dp,1,out_bag,\
							*in_bag,*(in_bag+1),*(in_bag+2));
							//goto ends;
							
						else if(the_func_type== fun_3i2o)
						pit->p3i2o(dp,2,out_bag,out_bag+1,\
							*in_bag,*(in_bag+1),*(in_bag+2));
						else if(the_func_type== fun_3i3o)
						pit->p3i3o(dp,3,out_bag,out_bag+1,out_bag+2,\
							*in_bag,*(in_bag+1),*(in_bag+2));
						else if(the_func_type== fun_3i4o)
						pit->p3i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,\
							*in_bag,*(in_bag+1),*(in_bag+2));
						else if(the_func_type== fun_4i0o)
						pit->p4i0o(dp,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3));
						else if(the_func_type== fun_4i1o)
						pit->p4i1o(dp,1,out_bag,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3));
						else if(the_func_type== fun_4i2o)
						pit->p4i2o(dp,2,out_bag,out_bag+1,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3));
						else if(the_func_type== fun_4i3o)
						pit->p4i3o(dp,3,out_bag,out_bag+1,out_bag+2,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3));
						else if(the_func_type== fun_4i4o)
						pit->p4i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3));
							
						else if(the_func_type== fun_5i0o)
							pit->p5i0o(dp,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4));
						else if(the_func_type== fun_5i1o)
						pit->p5i1o(dp,1,out_bag,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4));
						else if(the_func_type== fun_5i2o)
						pit->p5i2o(dp,2,out_bag,out_bag+1,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4));
						else if(the_func_type== fun_5i3o)
						pit->p5i3o(dp,3,out_bag,out_bag+1,out_bag+2,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4));
						else if(the_func_type== fun_5i4o)
						pit->p5i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4));
						else if(the_func_type== fun_6i0o)
							pit->p6i0o(dp,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5));
						else if(the_func_type== fun_6i1o)
						pit->p6i1o(dp,1,out_bag,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5));
						else if(the_func_type== fun_6i2o)
						pit->p6i2o(dp,2,out_bag,out_bag+1,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5));
						else if(the_func_type== fun_6i3o)
						pit->p6i3o(dp,3,out_bag,out_bag+1,out_bag+2,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5));
						else if(the_func_type== fun_6i4o)
						pit->p6i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5));
				
						else if(the_func_type== fun_7i0o)
							pit->p7i0o(dp,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6));
						else if(the_func_type== fun_7i1o)
						pit->p7i1o(dp,1,out_bag,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6));
						else if(the_func_type== fun_7i2o)
						pit->p7i2o(dp,2,out_bag,out_bag+1,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6));
						else if(the_func_type== fun_7i3o)
						pit->p7i3o(dp,3,out_bag,out_bag+1,out_bag+2,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6));
						else if(the_func_type== fun_7i4o)
						pit->p7i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6));
						
						else if(the_func_type== fun_8i0o)
							pit->p8i0o(dp,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),
							*(in_bag+5),*(in_bag+6),*(in_bag+7));
						else if(the_func_type== fun_8i1o)
						pit->p8i1o(dp,1,out_bag,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6),*(in_bag+7));
						else if(the_func_type== fun_8i2o)
						pit->p8i2o(dp,2,out_bag,out_bag+1,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6),*(in_bag+7));
						else if(the_func_type== fun_8i3o)
						pit->p8i3o(dp,3,out_bag,out_bag+1,out_bag+2,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6),*(in_bag+7));
						else if(the_func_type== fun_8i4o)
						pit->p8i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6),*(in_bag+7));

						else if(the_func_type== fun_9i0o)
							pit->p9i0o(dp,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),
							*(in_bag+5),*(in_bag+6),*(in_bag+7),*(in_bag+8));
						else if(the_func_type== fun_9i1o)
						pit->p9i1o(dp,1,out_bag,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6),*(in_bag+7),*(in_bag+8));
						else if(the_func_type== fun_9i2o)
						pit->p9i2o(dp,2,out_bag,out_bag+1,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6),*(in_bag+7),*(in_bag+8));
						else if(the_func_type== fun_9i3o)
						pit->p9i3o(dp,3,out_bag,out_bag+1,out_bag+2,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6),*(in_bag+7),*(in_bag+8));
						else if(the_func_type== fun_9i4o)
						pit->p9i4o(dp,4,out_bag,out_bag+1,out_bag+2,out_bag+3,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),\
							*(in_bag+5),*(in_bag+6),*(in_bag+7),*(in_bag+8));
						
						else if(the_func_type== fun_10i0o)
							pit->p10i0o(dp,\
							*in_bag,*(in_bag+1),*(in_bag+2),*(in_bag+3),*(in_bag+4),
							*(in_bag+5),*(in_bag+6),*(in_bag+7),*(in_bag+8),*(in_bag+9));
						else if(the_func_type== fun_10i1o)
						pit->p10i1o(dp,1,out_bag,\

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?