⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mocascript.h

📁 图像处理的压缩算法
💻 H
📖 第 1 页 / 共 5 页
字号:
/*------------------------------------------------------------------------------*
 *	File Name: 	MOCASCRIPT.H													*
 *	Purpose:	Header of script object class									*
 *																				*
 *																				*
 *	Author:		RVD																*
 *  Creation:	10/06/2000 														*
 *  	Copyright (c) Microcal Software Inc. 1996, 1997, 1998, 1999, 2000		*
 *																				*
 *	Modification log                                                        	*
 *	TD 12/18/2000 ALLOW_COMPILATION_OF_VAR_INITIALIZATION						*
 *	TD 01/17/2001 t8820 USE_NUMERIC_IDS_FOR_TYPE_NAMES							*
 *	ML 1/24/2000 EXPRESSION_HANDLING_USING_OBJECT								*
 *	1/25/2001 EXTEND_COMPILER_BEYOND_DOUBLES									*
 *	ML 1/26/2000 IMPLEMENTING_ARRAYS											*
 *	ML 1/29/2000 ARRAY_MORE_WORK												*
 *	ML 1/31/2000 MULTIDIMENSION_DEREFERENCING									*
 *	ML 2/1/2001 STRING_ARRAYS													*
 *	TD 2/12/2001 EFFICIENT_BASE_TYPES_HANDLING									*
 *	TD 2/15/2001 NEW_BASECLASS_FOR_TYPE_OBJECTS									*
 *	ML 2/19/2001 COMPILING_REFERENCES											*
 *	ML 2/21/2001 OPERATIONS_WITH_SIMPLE_UNARY									*
 *	ML 2/21/2001 POINTERS_FIRST_PHASE											*
 *	ML 2/22/2001 CLEANINING_UP_DEPRECATED_STUFF									*
 *	ML 2/23/2001 VECTOR_TYPING_ETC												*
 *	ML 2/22/2001 VECTOR_WORK													*
 *	ML 2/26/2001 MORE_DEREFERENCING_IMPROVEMENTS								*
 *	ML 2/27/2001 GETTING_EXPRESSION_TYPES										*
 *	CPY 2/27/01 v6.1096 ADD_TYPE_DEF											*
 *	ML 3/5/2001 POINTERS_POINTERS												*
 *	ML 3/7/2001 MORE_FRIENDLY_WAY_TO_GET_BUFFER									*
 *	TD 3/7/2001 SEPERATE_CREATION_OF_OBJECT_FROME_ADDING_THEM_TO_STACK			*
 *	EJP 03-12-2001 t8865 IMPLEMENT_IDE_VARIABLE_WINDOW							*
 *	TD 03/21/2001 IMPLEMENT_VOID												*
 *	ML 3/28/2001 OVECTOR_WORK													*
 *	EJP	03-30-2001 t9018 IMPLEMENT_FUNCTION_OVERLOAD							*
 *	CPY 03-31-2001 t9030 WORKSHEET_CLASS_IN_ORIGIN_C							*
 *	ML 4/3/2001 MORE_STRUCTURE_WORK												*
 *	CPY 4/4/01 ADD_ORGIIN_C_OBJECT_AS_BASE_CLASS								*
 *	TD 4-10-2001 t9050 ADD_FUNCTION_TO_ACCESS_UNDERLYING_DATA_STRUCTURE			*
 *	ML 4/12/2001 POINTERS_ASSIGNMENT											*
 *	ML 4/13/2001 POINTER_ARITHMETICS											*
 *	ML 4/15/2001 CALLING_EXTERNAL_FUNCTION_OF_ARBIRARY_PROTOTYPE				*
 *	TD 4-19-2001 t9054 MULTIMEMBER_ACCESS_TO_CLASS_N_STRUCT						*
 *	TD 4-23-01 ADD_COLUMN_TYPE_IN_ORIGIN_C										*
 *	TD 05-04-01 v6.9012 STRUCTS_WITH_SIMPLE_MEMBER_TYPE_CREATED_THE_C_WAY		*
 *	ML 5/8/2001 MEMORY_PTR_FURTHER_WORK											*
 *	TD 5-09-01 t9062 v6.9012 ADD_SUPPORT_FOR_ANSI_CONSATNTS_IN_ORIGIN_C			*
 *	ML 5/11/2001 PTR_COMPARISONS												*
 *	ML 5/11/2001 IT_HAS_TO_CALL_OperateMultiDim									*
 *	ML 5/11/2001 INITIALIZING_CHAR_ARRAY_FROM_ANOTHER_CHAR_ARRAY				*
 *	ML 5/11/2001 MEMORY_POINTER_RETURNING_FROM_FUNCTIONS						*
 *	ML 5/15/2001 MUST_CHECK_TARGET_TYPE_WHEN_CASTING_POINTER_TO_POINTER			*
 *	ML 5/15/2001 PASSING_SCRIPT_MOCA_OBJECTS_TO_EXTERNAL_FUNCTIONS				*
 *	TD 5-17-01 t9153 CREATE_A_TEMP_SERIES_WHEN_ANY_VETOR_ASSIGNED_TO_DATASET_UNATTACHED
 *	ML 5/22/2001 t9074 VECTOR_TO_SIMPLE_TYPE_FUNCTION_CALL_MORE_WORK			*
 *	ML 5/29/2001 t9168 ENUM_IMPLEMENTATION										*
 *	ML 6/1/2001 MATRIX_WORK														*
 *	ML 6/6/2001 SAFE_FLOATING_DIVIDE_FIX										*
 *	ML 6/6/2001 MATRIX_TYPES													*
 *	ML 6/8/2001 PASSING_PTR_DEREFERENCE_TO_REFERENCE							*
 *	ML 6/11/2001 CORRECT_TYPES_FOR_RELATIONAL_COMPARISONS						*
 *	ML 6/18/2001 t9260 MULTIPLE_POINTERS										*
 *	AW 6/21/2001 Array_Initialization											*
 *	ML 6/22/2001 VECTOR_OR_MATRIX_ASSIGNMENT_LHS_TEMPORARY_BUG					*
 *	ML 6/22/2001 t9264 MEMORY_PTRS_AS_STRUCTURE_MEMBERS_PASSED_TO_FUNCS			*
 *	AW 6/27/2001 t9137 VECTOR_DISPLAY											*
 *	AW 6/28/2001 t9137 VARIABLE_DISPLAY											*
 *	ML 6/27/2001 t9281 ORIGINC_EXPLICIT_CASTS									*
 *	TD 6-28-01 t9243 SUPPORT_USER_DEFINED_ORIGINC_CLASSES						*
 *	ML 7/3/2001 EXPLICITLY_CASTING_PTRS_TO_SIMPLE_NUMERIC_TYPES_AND_TO_STRUCTURES_TO_SIMPLE_NUMERIC_TYPES
 *	ML 7/5/2001 STRING_TO_CHARACTER_PTR											*
 *	ML 7/6/2001 t9283 COMPLEX_TYPES												*
 *	CPY v6.9037 6/25/01 t9247 ORIGIN_C_COMPILED_FUNC_RETURN_TEMP_SERIES			*
 *	AW 07/08/2001 t8989 complex_class											*
 *	TD 7-11-01 t9298 CALLBACK_FUNCTIONS_IN_ORIGINC								*
 *	ML 7/6/2001 t9283 COMPLEX_TYPES												*
 *	ML 7/11/2001 MUST_CHECK_FOR_ZERO_DENOMINATOR								*
 *	AW 7/16/2001 UPDATE_CVT_EXPRESSION_NUMERIC									*
 *	TD 7-23-01 ATTACH_2_SERIES_TO_A_CURVE										*
 *	TD 7-24-01 ALLOW_GETTING_UNDERLYING_CPP_ARRAY_OBJECT_FROM_ARG				*
 *	ML 8/3/2001 USE_ALWAYS_MEMORY_PTR_FOR_SIMPLE_TYPES							*
 *	ML 8/6/2001 t9309 COM_SUPPORT_IN_ORIGIN_C									*
 *	ML 8/8/2001 t9309 MORE_COM_ACCESS_WORK										*
 *	ML 8/9/2001 ORIGIN_C_VARIANT												*
 *	ML 8/13/2001 t9309 IMPLEMENTING_bool_FOR_COM								*
 *	ML 8/14/2001 t9309 COM_METHODS												*
 *	ML 8/21/2001 t9309 ASSIGNING_COM_VARIANT_ARRAYS_TO_VECTORS_OR_MATRICES		*
 *	TD 8-22-01 t9463 IMPLEMENT_BITFIELDS_SUPPORT								*
 *	TD t9407 CONSISTENT_CASTING_USE_CSTYLE_AND_CONCATENATE						*
 *	CPY v6.9084 9/7/01 GET_STR_NEED_SEPARATE_DISPLAY_AND_ASSIGNMENT				*
 *	TD 9-10-01 GETTING_TARGET_FROM_REFERNCE_OBJECT_INSIDE_METHODS				*
 *	TD 9-13-01 t9514 ORIGIN_C_COLLECTION										*
 *	ML 9/14/2001 GETTING_VECTOR_DATA_INTO_VARIANT_AS_ONEDIMENSIONAL_SAFEARRAY	*
 *	ML 9/17/2001 GETTING_SPCBLOB_INTO_WORKSHEET									*
 *	ML 9/25/2001 GROBJ_COLLECTION												*
 *	TD 9-28-01 t9553 GET_ACTIVE_PAGE											*
 *	ML 10/2/2001 MULTIPLE_MEMORY_PTR_DEREFERENCING_IMPROVEMENTS					*
 *	ML 10/11/2001 HANDLE_ASSIGNING_ARRAY_PTRS_TO_MULTIPLE_PTR					*
 *	ML 10/12/2001 MORE_WORK_SUBTRACTING_PTRS									*
 *	ML 10/16/2001 t9596 ORIGINC_ROI_ACCESS										*
 *	ML 10/23/2001 t9629 PROJECT_EXPLORER_ORIGINC_INTERFACE						*
 *	ML 10/26/2001 HANDLING_WRONG_ARGUMENT_VARIANT_TYPES_IN_COM_EVENT_HANDLERS	*
 *	TD 10-29-01	CATEGORICAL_DATA												*
 *	ML 11/2/2001 CANNOT_RESET_STRING_AS_RETURNVALUE_AFTER_EXTERNAL_FUNCTION_CALL*
 *	TD 11-07-01 t9619 v6.9119 USING_IN_OC										*
 *	TD 11-13-01 ADD_ATTACH_USING_WORKSHEET_AND_COLUMN_REF						*
 *	TD 11-14-01 ORGANIZE_ORIGINC_CLASSES										*
 *	TD 10-54-01 CONDITIONALLY_COMPILE_OUT_NON_DOUBLE_TEMPLATE_CREATION			*
 *	YuI 11/17/01 v6.9128 t9727 OCPOINT_AND_OCRECT_CLASSES_IMPLEMENTATION		*
 *	TD 11-26-01 CSHARP_STYLE_CONSIDERATION_OF_WRAPPER_OBJECTS_AS_BOOL			*
 *	ML 12/17/2001 t9814 CREATING_GRAPH_FROM_TEMPLATE_IN_ORIGINC					*
 *	TD	12-20-01 ADD_BASEPAGE_AS_BASE_OF_PAGE									*
 *	TD 1-4-02 t9809 MATRIX_OBJECT_BASED_ON_COLUMN_OBJECT						*
 *	TD 1-29-02 QA70-592 v6.9197 PROPER_HANDLING_OF_DATASET_RANGE_FROM_KERNEL	*
 *	TD 2-12-02 QA70-771 v6.9211 ORIGINC_DEBUG_MODE								*
 *	TD 2-15-02 INITIALIZE_OCDATA_TO_ZERO										*
 *	ML 2/21/2002 QA70-965 APPENDING_TO_VECTORS_AND_DATASETS						*
 *	TD 2-22-02 QA70-945 v7.0221 ASK_LABTALKMGR_IF_ORIGIN_CAN_CLOSE				*
 *	TD 3-5-02 QA70-696 v7.0235 NEW_SCALE_CLASS_IN_OC							*
 *	TD 3-7-02 BUFFER_SIZE_SET_GET_EXPOSED										*
 *	YuI 3/13/2 QA70-1043 v7.0233 GET_ROI_DATA									*
 *	TD 3-15-02 QA70-1145 NON_TEMPLATE_ABSTRACT_BASE_FOR_MATRICES_AND_VECTORS	*
 *	AW 03/18/02 QA70-1105 DEBUG_VARIABLE_DISPLAY_IMPROVEMENT					*
 *	YuI 3/25/2 QA70-1043 v7.0255 GET_ROI_DATA									*
 *	ML 4/9/2002 QA70-929 ORIGINC_FUNCTION_POINTERS								*
 *	AW 04/16/02 ADD_UPDATE_FLAG													*
 *	YuI 4/29/02 v.70295 QA70-1642 DISPLAY_ELEMET_FUNCTION_FOR_EACH_OC_CLASS		*
 *	AW 04/29/02 QA70-1636 DATASET_COPY_IN_ORIGINC								*
 *	TD 5-04-02 KEY_INFO_PROPERTY_OF_WRAPPERS_WITH_DYNAMIC_SUBPROPERTIES			*
 *	AW 05/05/02 v7.0302 QA70-1655 POINT_POINTF_POINTC_SUPPORT					*
 *	ML 5/20/2001 QA70-1851 GETTING_SELECTED_COLUMNS_ORIGIN_C					*
 *	TD 5-24-02 QA70-1882 v7.0310 TEMPLATE_DATA_ATTACHMENT_FAILURE_TREATED_AS_RUN_TIME_ERROR*
 *	RVD 6/13/2002 QA70-1955 v7.0318 ORIGIN_OBJECT_SHOW_METHOD					*
 *	AW 06/18/02 v7.0323 QA70-2055 MORE_WORK_ON_GETAS_VECTOR						*
 *	AW 06/26/02 v7.0328 QA70-2116 MOCABASETYPE_NAG_DLL_SUPPORT					*
 *	TD 7-01-02 QA70-2181 v7.0331 LABTALK_STRING_VECTORS_TO_OCVECTORS			*
 *	TD 7-5-02 QA70-2223 v7.0332	DIALOG_CLASS_FOR_DB_EVENT_CATCHING				*
 *	AW 07/19/02 v7.0345 QA70-2397 ADD_OCDATAOBJECTBASE_CLASS					*
 *	TD 7-26-02 QA70-2424 v7.0352 ORIGINC_WRAPPER_OBJECTS_CRASH_AFTER_CLOSING_PROJECT	*
 *	TD 7-29-02 QA70-1882 @BC_AND_@BCM_FOR_OC_MEM_EXCEPTION						*
 *  TCZ 07/6/02 QA70-2187  v7.0337 MATRIX_BASIC_OPERATION						*
 *	TD 8-17-02 QA70-2715 v7.0374 GETDATAOBJECTC_IN_APPLICATION	(Cleanup)		*
 *	TD 8-23-02 QA70-2780 v7.0381 WRITING_ACROSS_BDRY_PROTECTION_DEF_WITH_SIZE_10*
 *	ML 8/24/2002 QA70-2805 PASSING_DISPINTERFACES_AS_ARGUMENTS_OF_EVENT_HANDLERS*
 *	TD 8-26-02 QA70-2780 v7.0384 SEPERATE_VARS_FOR_DEBUG_AND_EXTRA_MEMORY		*
 *	TD 10-4-02 QA70-2177 v7.0408 ORIGIN_C_ACCESS_TO_STORAGE						*
 *	TD 10-21-02 QA70-3181 ORIGINC_CLASSES_FOR_DIALOG_MEMBERS					*
 *	CPY 10/28/02 v7.0423 MAKING_RELEASE_CONDITIONAL_ON_OC_CONTROLS_IN_DDK		*
 *	TD 10/29/02 QA70-3182 v7.0424 OCDIALOG_MSG_MAP_IMPLEMENT					*
 *	TD 11-12-02 QA70-1644 v7.0433 MULTIPLE_GRAPHS_WITH_DIALOG_BUILDER			*
 *	CPY 11/15/02 v7.0434 QA70-3212 BASIC_CWND_SUPPORT_SIMPLE					*
 *	CPY 11/5/02 v7.0428 QA70-3213  ADD_FONT_INIT_TO_TREE_EDITOR					*
 *	AW 12/03/02 QA70-2196 v7.0477 POINTER_OBJECT_VARIABLE_DISPLAY				*
 *	ML 12/5/2002 QA70-3458 CASTING_LPVOID_TO_DOUBLE_MEMORY_PTR					*
 *	TD 12-12-02 QA70-3133 v7.0452 NO_OC_BUILD_REQUEST_WHILE_EXECUTION			*
 *	DVT 12/18/02 QA70-3537 v7.0467 ADD_MATLAB_CLASS_FOR_COMMUNICATION			*
 *	ML 12/20/2002 QA760-3535 TEMPORARY_ACTIVEX_CONTROL_FIX_BETTER				*
 *	TD 12-23-02 TREE_CLASS_IN_EXTERNAL_DLL_SHARE_STRUCTURE_DETAILS				*
 *	AW 12/24/02 QA70-3477 v7.0473 CASTING_ORIGINCOBJECT_TO_DERIVED_CLASS		*
 *	TD 1-14-03 QA70-3671 v7.0487 LIMTED_ACCESS_TO_ACTIVEX_CONTROLS				*
 *	TD 1-27-02 TREE_CLASS_IN_EXTERNAL_DLL_SHARE_STRUCTURE_DETAOILS				*
 *	TD 2-3-03 QA70-3681 ALLOW_DOTTED_ACCESS_TO_OBJECT_FORMAT_AND_TREENODE		*
 *	DVT 2/11/03 QA70-3684 v7.0510 ORIGIN_AUTOMATION_SERVER						*
 *	JCG 03/10/03 QA70-4013 v7.0531 CLEAN_UP_OC_MTX_AND_RECT_COODINATES			*
 *	ML 3/14/2003 QA70-4067 PASSING_DATASETS_FROM_LABTALK_TO_STRING_VECTORS_AND_RETURNING_STRING_VECTORS
 *	ML 3/23/2003 QA70-4113 INITIALIZING_VECTOR_FROM_COLUMN_FOR_WRITEBACK		*
 *	DVT 3/26/03 QA70-4139 v7.0545 OC_CATEGORICAL_INFORMATION_METHOD				*
 *	YuI 3/31/03 v7.0550 QA70-4160 NEW_OC_OPERATION_HANDLING						*
 *	ML 4/14/2003 QA70-4264 GETTING_ARGUMENT_PTR_IF_NULL_AS_NULL					*
 *	DVT 4/14/03 QA70-4257 v7.0560 OC_ORIGINOBJECT_GETNAME_MATHOD				*
 *	DVT 4/21/03 ADD_DOTTED_OIDE_TOOLTIPS										*
 *	ML 5/6/2003 QA70-4373 BETTER_CURVE_ARITHMETICS								*
 *	YuI 5/05/03 v7.0578 QA70-4357 CURVE_AS_INPUT_OF_OPERATION					*
 *	CPY 5/28/03 QA70-3737 v7.0594 VEC_SET_SUB_VEC_MUST_CHECK_MIXED				*
 *	TD 5-30-03 QA70-4563 REFERNCES_TO_WRAPPER_DATA_NEEDS_DETACHMENT_AFTER_DETACHED_FROM_ALL_REFS*
 *	ML 5/29/2003 QA70-4562 CURVE_EXTENSION_WITH_RELATED_DATASETS				*
 *	RVD 6/13/2003 QA70-4650 v7.0601 OBJECT_PROPERTY_ACCESS						*
 *	AW 06/29/03 QA70-4733 v7.0612 SMART_COUNT_NUMBER_FOR_REF					*
 *	TD 7-30-03 EXPLICIT_DOWNCAST												*
 *	ML 10/15/2003 QA70-5361 UPDATING_WKS_FROM_EXCEL_FOR_GETTING_INTO_MATRIX		*
 *	TD 11-3-03 QA70-5067 MESSAGE_HANDLING_FROM_BASE_CLASS_OF_WINDOW				*
 *------------------------------------------------------------------------------*/

#ifndef _MOCASCRIPT_H
#define _MOCASCRIPT_H

//-------- CPY 10/28/02 v7.0423 MAKING_RELEASE_CONDITIONAL_ON_OC_CONTROLS_IN_DDK
//#include	"stdafx.h"
//--------
#include	"mocadef.h" // Required header file
#include	"LTtype.h"


////////////////////////////////////////////////////////////////////////////
////
////	THE Following constants are enumerated types
////	every string type must have a unique numeric type 0...32
////	the limitation on the range comes from our use of these
////	constatnts as a bit in DWORD
////

/// TD 10-54-01 CONDITIONALLY_COMPILE_OUT_NON_DOUBLE_TEMPLATE_CREATION
//#define  CONDITIONALLY_COMPILE_OUT_NON_DOUBLE_TEMPLATE_CREATION
/// end CONDITIONALLY_COMPILE_OUT_NON_DOUBLE_TEMPLATE_CREATION

/// TD 01/17/2001 t8820 USE_NUMERIC_IDS_FOR_TYPE_NAMES
/*
enum{
	LTT_ID_INT	=	1,
	LTT_ID_DOUBLE,
	LTT_ID_COMPLEX,
	LTT_ID_STRING,
	LTT_ID_VECTOR,
	LTT_ID_POINTER,
	LTT_ID_FUNCTION,
	LTT_ID_USER
};*/

#include "OClassIDs.h" //CPY 11/19/02 move all const into this separate file


/// TD 11-26-01 CSHARP_STYLE_CONSIDERATION_OF_WRAPPER_OBJECTS_AS_BOOL
#define		IS_WRAPPER_CLASS_ID(_nID)	   IsWrapperClassID((_nID))

BOOL IsWrapperClassID(UINT nId);   //Declaration in MOCascript.cpp shared by the dll
/// end CSHARP_STYLE_CONSIDERATION_OF_WRAPPER_OBJECTS_AS_BOOL


/// end USE_NUMERIC_IDS_FOR_TYPE_NAMES

/// AW 12/24/02 QA70-3477 v7.0473 CASTING_ORIGINCOBJECT_TO_DERIVED_CLASS
#define		IS_OKWRAPPER_CLASS_ID(_nID)	   IsOKWrapperClassID((_nID))
BOOL IsOKWrapperClassID( UINT nId );
/// END CASTING_ORIGINCOBJECT_TO_DERIVED_CLASS



/// TD 10-21-02 QA70-3181 ORIGINC_CLASSES_FOR_DIALOG_MEMBERS
#define MIN_CONTROL_ID  LTT_ID_CONTROL
//#define MAX_CONTROL_ID  LTT_ID_CONTROL_EDIT
#define MAX_CONTROL_ID  LTT_ID_CONTRO_END

#define IS_CONTROL_ID(_ID)		((_ID) >=  MIN_CONTROL_ID &&  MAX_CONTROL_ID >=  (_ID))	
	/// TD 1-10-03  There are two types of Window derived calsses, The ones that's derived from the control class, are in DDK
//#define IS_CWND_WRAPPER(_ID)	(LTT_ID_UD_CLASS == (_ID )|| LTT_ID_CWND == (_ID) || LTT_ID_WNDCTRL_ORIGIN_GRAPH == (_ID))
#define IS_CWND_WRAPPER(_ID)	(LTT_ID_UD_CLASS == (_ID )|| (LTT_ID_CWND_WRAPPER_BEGIN <(_ID) && LTT_ID_CWND_WRAPPER_END > (_ID)))
/// end ORIGINC_CLASSES_FOR_DIALOG_MEMBERS
/// TD 12-15-02 QA70-3183 v7.0464 TREE_IN_OC
/// RVD 6/13/2003 QA70-4650 v7.0601 OBJECT_PROPERTY_ACCESS
//#define IS_TREE_TYPE_ID(_ID)		((_ID) >=  LTT_ID_TREE_NODE &&  LTT_ID_TREE >=  (_ID))	
#define IS_TREE_TYPE_ID(_ID)		((_ID) >=  LTT_ID_PROPERTYNODE && LTT_ID_TYPEDTREE >= (_ID))

⌨️ 快捷键说明

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