• | <creo_otk_loadpoint_app>\include—Contains all the header files specific to Creo Object TOOLKIT C++. |
• | <creo_otk_loadpoint_app>\<platform>\obj—Contains platform-specific libraries of Creo Object TOOLKIT C++ which must be used with the Creo Parametric TOOLKIT libraries. |
NAME YourApplicationName
TOOLKIT OBJECT [optional; omitted means protoolkit]
CREO_TYPE DIRECT [optional; omitted means PARAMETRIC]
EXEC_FILE $LOADDIR/$MACHINE_TYPE/obj/filename.dll
TEXT_DIR $LOADDIR
STARTUP dll [dll/spawn/java]
END
• | ObjectToolkitCpp—Specifies the basic Creo Object TOOLKIT C++ development license. |
• | TOOLKIT-for-3D_Drawings—Specifies the advanced license. Certain methods are available under the 222 license option. Methods that require license 222 have the comment “LICENSE: 222” added in the APIWizard. |
• | otk_222.lib—If you have the advanced license option 222, that is, the TOOLKIT-for-3D_Drawings license, include this library in your application. |
• | otk_no222.lib—If you do not have the advanced license option, include this library in your application. |
<creo_loadpoint>/<app_name>/bin/protk_unlock.bat [-cxx] [-cxxd] <path
to executables or DLLs to unlock>
• | The Creo Object TOOLKIT C++ is unlocked even if you do not specify the -cxx option. |
• | To unlock and digitally sign your application, specify the -cxxd option. Note that it is mandatory to sign your application if you use the -cxxd option. See the section Digitally Signing the Application, for more information on digitally signing your application. |
Message
|
Cause
|
---|---|
<application name>:Successfully unlocked application.
|
The application is unlocked successfully.
|
Usage: protk_unlock.bat <one or more Creo Parametric
TOOLKIT executables or DLLs>
|
No arguments supplied.
|
<application name>:ERROR: No READ access
<application name>:ERROR: No WRITE access
|
You do not have READ/WRITE access for the executable.
|
<application name>:Executable is not a Creo Object
TOOLKIT C++ application.
|
The executable is not linked with the Creo Object
TOOLKIT C++ libraries, or does not use any methods from those libraries.
|
<application name>:Executable is already unlocked.
|
The executable is already unlocked.
|
Error: Licenses do not contain Creo Parametric
TOOLKIT License Code.
|
A requirement for unlocking a Creo Object
TOOLKIT C++ application.
|
ERROR: No Creo Parametric licenses are available for the startup command specified
|
Could not contact the license server.
|
<application name>:Unlocking this application requires option TOOLKIT-for-3D_Drawings.
|
The application uses methods that require an advanced option; and this option is not available.
The license option 222, that is, the TOOLKIT-for-3D_Drawings license is not available.
|
• | pfc—This domain provides classes that support basic functionality. |
• | wfc—This domain provides classes that support advanced functionality. |
• | uifc—This domain provides classes that allow you to create user interface components. Refer to the PTC Creo UI Editor User’s Guide, for more information on how to create and customize the user interface components. |
Pfc class
|
Equivalent WFC class
|
---|---|
pfcAssembly
|
wfcWAssembly
|
pfcComponentPath
|
wfcWComponentPath
|
pfcComponentPaths
|
wfcWComponentPaths
|
pfcExplodedState
|
wfcWExplodedState
|
pfcSimpRep
|
wfcWSimpRep
|
pfcSimpReps
|
wfcWSimpReps
|
pfcComponentFeat
|
wfcWComponentFeat
|
pfcDetailEntityItem
|
wfcWDetailEntityItem
|
pfcDetailGroupItem
|
wfcWDetailGroupItem
|
pfcDetailNoteItem
|
wfcWDetailNoteItem
|
pfcDetailOLEObject
|
wfcWDetailOLEObject
|
pfcDetailSymbolDefItem
|
wfcWDetailSymbolDefItem
|
pfcDetailSymbolInstItem
|
wfcWDetailSymbolInstItem
|
pfcDimension
|
wfcWDimension
|
pfcDimension2D
|
wfcWDimension2D
|
pfcRefDimension
|
wfcWRefDimension
|
pfcUDFDimension
|
wfcWUDFDimension
|
pfcDisplay
|
wfcWDisplay
|
pfcWindow
|
wfcWWindow
|
pfcDrawing
|
wfcWDrawing
|
pfcDrawingFormat
|
wfcWDrawingFormat
|
pfcFamilyMember
|
wfcWFamilyMember
|
pfcFamilyTableRow
|
wfcWFamilyTableRow
|
pfcFamilyTableRows
|
wfcWFamilyTableRows
|
pfcCoordSysFeat
|
wfcWCoordSysFeat
|
pfcCurveFeat
|
wfcWCurveFeat
|
pfcDatumAxisFeat
|
wfcWDatumAxisFeat
|
pfcDatumPlaneFeat
|
wfcWDatumPlaneFeat
|
pfcDatumPointFeat
|
wfcWDatumPointFeat
|
pfcFeature
|
wfcWFeature
|
pfcFeatures
|
wfcWFeatures
|
pfcRoundFeat
|
wfcWRoundFeat
|
pfcArc
|
wfcWArc
|
pfcArrow
|
wfcWArrow
|
pfcAxis
|
wfcWAxis
|
pfcBSpline
|
wfcWBSpline
|
pfcCircle
|
wfcWCircle
|
pfcCompositeCurve
|
wfcWCompositeCurve
|
pfcCompositeCurveDescriptor
|
wfcWCompositeCurveDescriptor
|
pfcCone
|
wfcWCone
|
pfcConeDescriptor
|
wfcWConeDescriptor
|
pfcContour
|
wfcWContour
|
pfcContours
|
wfcWContours
|
pfcCoonsPatch
|
wfcWCoonsPatch
|
pfcCoonsPatchDescriptor
|
wfcWCoonsPatchDescriptor
|
pfcCurve
|
wfcWCurve
|
pfcCurves
|
wfcWCurves
|
pfcCylinder
|
wfcWCylinder
|
pfcCylinderDescriptor
|
wfcWCylinderDescriptor
|
pfcCylindricalSplineSurface
|
wfcWCylindricalSplineSurface
|
pfcCylindricalSplineSurfaceDescriptor
|
wfcWCylindricalSplineSurfaceDescriptor
|
pfcEdge
|
wfcWEdge
|
pfcEdges
|
wfcWEdges
|
pfcEllipse
|
wfcWEllipse
|
pfcFilletSurface
|
wfcWFilletSurface
|
pfcFilletSurfaceDescriptor
|
wfcWFilletSurfaceDescriptor
|
pfcForeignSurface
|
wfcWForeignSurface
|
pfcForeignSurfaceDescriptor
|
wfcWForeignSurfaceDescriptor
|
pfcLine
|
wfcWLine
|
pfcNURBSSurface
|
wfcWNURBSSurface
|
pfcNURBSSurfaceDescriptor
|
wfcWNURBSSurfaceDescriptor
|
pfcPlane
|
wfcWPlane
|
pfcPlaneDescriptor
|
wfcWPlaneDescriptor
|
pfcPoint
|
wfcWPoint
|
pfcPolygon
|
wfcWPolygon
|
pfcQuilt
|
wfcWQuilt
|
pfcRevolvedSurface
|
wfcWRevolvedSurface
|
pfcRevolvedSurfaceDescriptor
|
wfcWRevolvedSurfaceDescriptor
|
pfcRuledSurface
|
wfcWRuledSurface
|
pfcRuledSurfaceDescriptor
|
wfcWRuledSurfaceDescriptor
|
pfcSurface
|
wfcWSurface
|
pfcSurfaceDescriptor
|
wfcWSurfaceDescriptor
|
pfcSurfaceDescriptors
|
wfcWSurfaceDescriptors
|
pfcSurfaces
|
wfcWSurfaces
|
pfcText
|
wfcWText
|
pfcTorus
|
wfcWTorus
|
pfcTorusDescriptor
|
wfcWTorusDescriptor
|
pfcDiagram
|
wfcWDiagram
|
pfcIntfNeutral
|
wfcWIntfNeutral
|
pfcLayout
|
wfcWLayout
|
pfcMarkup
|
wfcWMarkup
|
pfcModel
|
wfcWModel
|
pfcReport
|
wfcWReport
|
pfcUnit
|
wfcWUnit
|
pfcModelItem
|
wfcWModelItem
|
pfcModelItems
|
wfcWModelItems
|
pfcParameter
|
wfcWParameter
|
pfcParameterOwner
|
wfcWParameterOwner
|
pfcRelationOwner
|
wfcWRelationOwner
|
pfcNote
|
wfcWNote
|
pfcPart
|
wfcWPart
|
pfcSelection
|
wfcWSelection
|
pfcSelectionOptions
|
wfcWSelectionOptions
|
pfcSelections
|
wfcWSelections
|
pfcBaseSession
|
wfcWBaseSession
|
pfcSession
|
wfcWSession
|
pfcSolid
|
wfcWSolid
|
pfcRegenInstructions
|
wfcWRegenInstructions
|
pfcTable
|
wfcWTable
|
pfcXSection
|
wfcWXSection
|
• | Creo-Related Interfaces—Contains unique methods and attributes that are directly related to the functions in the Creo applications. See the section Creo-Related Interfaces for additional information. |
• | Compact Data Classes—Classes containing data needed as arguments to some Creo Object TOOLKIT C++ methods. See the section Compact Data Classes for additional information. |
• | Union Classes—Classes with a potential for multiple types of values. See the section Union Classes for additional information. |
• | Sequence Classes—Expandable arrays of objects or primitive data types. See the section Sequence Classes for more information. |
• | Array Classes—Arrays that are limited to a certain size. See the section Array Classes for more information. |
• | Enumeration Classes—Classes that define the enumerated types. See the section Enumeration Classes for more information. |
• | ActionListener Classes—Classes that enable you to specify callbacks that will run only if certain events in Creo application take place. See the section Action Listener Classes for more information. |
• | Utility Classes—Classes that contain the static methods used to initialize certain Creo Object TOOLKIT C++ objects. See the section Utilities for more information. |
• | C++ Header, C++ Class, and C++ Method—Lists the Creo Object TOOLKIT C++ header files, classes and methods. |
• | Exposure—Specifies PMA if the method is supported in Creo Parametric. The field specifies PMA/DMA when the method is supported in both Creo Parametric and Creo Direct. |
• | Description—Describes the class or method. |
Attribute name: int XYZ
Methods: int GetXYZ();
void SetXYZ (xint i);
pfcSession_ptr session = pfcGetProESession();
pfcWindow_ptr window = session->GetCurrentWindow();
// You have initialized the window object.
window->Activate();
window->Repaint();
pfcWindow window; // pfcWindow is a pure virtual class, C++ constructor
cannot be used window.Activate(); Repaint(); // There is no invoking object.
pfcFeature_ptr myfeature; // Previously initialized
String name = myfeature->GetName(); // GetName is in the
// class pfcModelItem.
pfcModelItem_ptr item; // You know this is a pfcFeature -- perhaps
// you previously checked its type.
int number = pfcFeature::cast(item)->GetNumber();
// GetNumber() is a pfcFeature method.
pfcBOMExportInstructions::Create()
Attribute name: int XYZ
Methods: int GetXYZ();
void SetXYZ (xint i);
pfcSelectionOptions options;
options.SetMaxNumSels(); // The object has not been initialized.
SetOptionsKeywords(); // There is no invoking object
class pfcParamValue : public xobject
{
xsdeclare (pfcParamValue)
public:
pfcParamValueType Getdiscr ();
xstring GetStringValue ();
void SetStringValue (xrstring value);
xint GetIntValue ();
void SetIntValue (xint value);
xbool GetBoolValue ();
void SetBoolValue (xbool value);
xreal GetDoubleValue ();
void SetDoubleValue (xreal value);
xint GetNoteId ();
void SetNoteId (xint value);
private:
pfcParamvalueValue mProParamvalue;
public:
pfcParamValue (const pfcParamvalueValue &inProParamvalue);
pfcParamValue ();
public:
const pfcParamvalueValue &GetProParamvalue();
};
pfcFeatures_ptr features = pfcFeatures::cast(modelitems);
// in pfcModel::h:
xclssequence (optional pfcModel_ptr, pfcModels);
// in cipxseq.h:
# define xclssequence(TYPE, NAME) \
class NAME : public xtcsequence \
{ \
xsdeclare (NAME) \
NAME () {} \
NAME (xint capacity) : xtcsequence<TYPE> (capacity)
NAME (const NAME *src) : xtcsequence<TYPE> (src) \
static NAME *create (); \
static NAME *createCapacity (xint capacity); \
}
template <class ElemType>
class xtcsequence : public xtbsequence <class ElemType>
{
public:
xtcsequence ();
xtcsequence (xint capacity);
xtcsequence (const xtcsequence<ElemType> *src);
~xtcsequence ();
};
template <class ElemType>
class xtbsequence : public xobject, public xbasesequence
{
public:
virtual xint getarraysize ();
inline ElemType &operator [] (xint idx);
virtual ElemType get (xint idx);
virtual void set (xint idx, ElemType value);
virtual void append (ElemType value);
virtual void operator+= (ElemType value);
virtual void insert (xint atidx, ElemType value);
virtual void insertseq (xint atidx,
xtbsequence <ElemType> *arr);
virtual void removerange (xint frominc, xint toexcl);
};
class pfcSolidActionListener : public virtual pfcActionListener
{
xaideclare (pfcSolidActionListener)
public:
virtual void OnBeforeRegen (
pfcSolid_ptr Sld,
optional pfcFeature_ptr StartFeature
) = 0;
virtual void OnAfterRegen (
pfcSolid_ptr Sld,
optional pfcFeature_ptr StartFeature,
xbool WasSuccessful
) = 0;
virtual void OnBeforeUnitConvert (
pfcSolid_ptr Sld,
xbool ConvertNumbers
) = 0;
virtual void OnAfterUnitConvert (
pfcSolid_ptr Sld,
xbool ConvertNumbers
) = 0;
virtual void OnBeforeFeatureCreate (
pfcSolid_ptr Sld,
xint FeatId
) = 0;
virtual void OnAfterFeatureCreate (
pfcSolid_ptr Sld,
pfcFeature_ptr Feat
) = 0;
virtual void OnAfterFeatureDelete (
pfcSolid_ptr Sld,
xint FeatId
) = 0;
};
ParamValue pv = pfcModelItem.CreateStringParamValue ("my_param");
public class pfcGlobal
{
public static pfcSession::Session GetProESession()
throws jxthrowable
public static stringseq GetProEArguments()
throws jxthrowable
public static string GetProEVersion()
throws jxthrowable
public static string GetProEBuildCode()
throws jxthrowable
}
• | Model, Part, Assembly |
• | Solid |
• | File Operations |
• | Selection |
• | Geometry |
• | Window |
• | PDM Interaction |
• | External Data |
• | wfcCREO_PARAMETRIC |
• | wfcCREO_DIRECT |
name YourApplicationName
exec_file $LOADDIR/$MACHINE_TYPE/obj/filename.exe
text_dir $LOADDIR
toolkit object
creo_type direct
end
• | protoolkit for applications based on Creo Parametric TOOLKIT |
• | object for applications based on Creo Object TOOLKIT C++ |
• | CATIA V5 (.CATPart, .CATProduct) |
• | CATIA V5 CGR |
• | CATIA V4 (.Model) |
• | SolidWorks (.sldasm, .sldprt) |
• | NX (.prt) |
• | xobject_ptr wfcGetObjectFromHandle (wfcHandleType type, void *handle); |
• | const void *wfcGetHandleFromObject (pfcObject_ptr object); |
// getting pfcFeature_ptr out of ProFeature ProFeature *feat; pfcFeature_ptr pfcFeat = pfcFeature::cast
( wfcGetObjectFromHandle(wfcProModelitemHandle, (void*)feat) ); // getting ProFeature out of pfcFeature_ptr pfcFeature_ptr pfcFeat; ProFeature *feat = (ProFeature*) wfcGetHandleFromObject
( pfcObject::cast(pfcFeat) );
wfcWSession_ptr ses = wfcWSession::cast(pfcGetProESession()
1. | Get a handle to the session. |
2. | Get the models that are active in the session. |
3. | Get the feature model items in each model. |
4. | Filter out the features of type hole. |
5. | Get the subitems in each feature that are axes. |
Exception
|
Purpose
|
---|---|
cipXInvalidArrayIndex, cipXInvalidDictIndex, cipXNegativeIndex
|
Illegal index value used when accessing a Cip array, sequence, or dictionary. (The Creo Object
TOOLKIT C++ interface does not currently include any dictionary classes.)
|
Other, internal errors
|
Internal assertions that should not append and which need not be caught individually.
|
Exception
|
Purpose
|
---|---|
pfcXBadExternalData
|
Indicates an attempt to read contents of an external data object which has been terminated.
|
pfcXBadGetArgValue
|
Indicates an attempt to read the wrong type of data from the ArgValue union.
|
pfcXBadGetExternalData
|
Indicates an attempt to read the wrong type of data from the ExternalData union.
|
pfcXBadGetParamValue
|
Indicates an attempt to read the wrong type of data from the ParamValue union.
|
pfcXBadOutlineExcludeType
|
Indicates that an invalid type of item was passed to the outline calculation method.
|
pfcXCancelProEAction
|
This exception type will not be thrown by Creo Object
TOOLKIT C++ methods, but you may instantiate and throw this from certain ActionListener methods to cancel the corresponding action in the Creo application.
|
pfcXCannotAccess
|
Indicates that the contents of a Creo Object
TOOLKIT C++ object cannot be accessed in this situation.
|
pfcXEmptyString
|
Indicates an empty string was passed to a method that does not accept this type of input.
|
pfcXInvalidEnumValue
|
Indicates an invalid value for a specified enumeration class.
|
pfcXInvalidFileName
|
Indicates that a file name passed to a method was incorrectly structured.
|
pfcXInvalidFileType
|
Indicates a model descriptor contained an invalid file type for a requested operation.
|
pfcXInvalidModelItem
|
Indicates that the item requested to be used is no longer usable (for example, it may have been deleted).
|
pfcXInvalidSelection
|
Indicates that the selection passed is invalid or is missing a needed piece of information. For example, its component path,
drawing view, or parameters.
|
pfcXModelNotInSession
|
Indicates that the model is no longer in session; it may have been erased or deleted.
|
pfcXNegativeNumber
|
Numeric argument was negative.
|
pfcXNumberTooLarge
|
Numeric argument was too large.
|
pfcXProEWasNotConnected
|
The Creo session is not available so the operation failed.
|
pfcXSequenceTooLong
|
Indicates that the sequence argument was too long.
|
pfcXStringTooLong
|
Indicates that the string argument was too long.
|
pfcXUnimplemented
|
Indicates unimplemented method.
|
pfcXUnknownModelExtension
|
Indicates that a file extension does not match a known Creo model type.
|
pfcXToolkitError Child Class
|
Creo Parametric
TOOLKIT Error
|
#
|
---|---|---|
pfcXToolkitGeneralError
|
PRO_TK_GENERAL_ERROR
|
-1
|
pfcXToolkitBadInputs
|
PRO_TK_BAD_INPUTS
|
-2
|
pfcXToolkitUserAbort
|
PRO_TK_USER_ABORT
|
-3
|
pfcXToolkitNotFound
|
PRO_TK_E_NOT_FOUND
|
-4
|
pfcXToolkitFound
|
PRO_TK_E_FOUND
|
-5
|
pfcXToolkitLineTooLong
|
PRO_TK_LINE_TOO_LONG
|
-6
|
pfcXToolkitContinue
|
PRO_TK_CONTINUE
|
-7
|
pfcXToolkitBadContext
|
PRO_TK_BAD_CONTEXT
|
-8
|
pfcXToolkitNotImplemented
|
PRO_TK_NOT_IMPLEMENTED
|
-9
|
pfcXToolkitOutOfMemory
|
PRO_TK_OUT_OF_MEMORY
|
-10
|
pfcXToolkitCommError
|
PRO_TK_COMM_ERROR
|
-11
|
pfcXToolkitNoChange
|
PRO_TK_NO_CHANGE
|
-12
|
pfcXToolkitSuppressedParents
|
PRO_TK_SUPP_PARENTS
|
-13
|
pfcXToolkitPickAbove
|
PRO_TK_PICK_ABOVE
|
-14
|
pfcXToolkitInvalidDir
|
PRO_TK_INVALID_DIR
|
-15
|
pfcXToolkitInvalidFile
|
PRO_TK_INVALID_FILE
|
-16
|
pfcXToolkitCantWrite
|
PRO_TK_CANT_WRITE
|
-17
|
pfcXToolkitInvalidType
|
PRO_TK_INVALID_TYPE
|
-18
|
pfcXToolkitInvalidPtr
|
PRO_TK_INVALID_PTR
|
-19
|
pfcXToolkitUnavailableSection
|
PRO_TK_UNAV_SEC
|
-20
|
pfcXToolkitInvalidMatrix
|
PRO_TK_INVALID_MATRIX
|
-21
|
pfcXToolkitInvalidName
|
PRO_TK_INVALID_NAME
|
-22
|
pfcXToolkitNotExist
|
PRO_TK_NOT_EXIST
|
-23
|
pfcXToolkitCantOpen
|
PRO_TK_CANT_OPEN
|
-24
|
pfcXToolkitAbort
|
PRO_TK_ABORT
|
-25
|
pfcXToolkitNotValid
|
PRO_TK_NOT_VALID
|
-26
|
pfcXToolkitInvalidItem
|
PRO_TK_INVALID_ITEM
|
-27
|
pfcXToolkitMsgNotFound
|
PRO_TK_MSG_NOT_FOUND
|
-28
|
pfcXToolkitMsgNoTrans
|
PRO_TK_MSG_NO_TRANS
|
-29
|
pfcXToolkitMsgFmtError
|
PRO_TK_MSG_FMT_ERROR
|
-30
|
pfcXToolkitMsgUserQuit
|
PRO_TK_MSG_USER_QUIT
|
-31
|
pfcXToolkitMsgTooLong
|
PRO_TK_MSG_TOO_LONG
|
-32
|
pfcXToolkitCantAccess
|
PRO_TK_CANT_ACCESS
|
-33
|
pfcXToolkitObsoleteFunc
|
PRO_TK_OBSOLETE_FUNC
|
-34
|
pfcXToolkitNoCoordSystem
|
PRO_TK_NO_COORD_SYSTEM
|
-35
|
pfcXToolkitAmbiguous
|
PRO_TK_E_AMBIGUOUS
|
-36
|
pfcXToolkitDeadLock
|
PRO_TK_E_DEADLOCK
|
-37
|
pfcXToolkitBusy
|
PRO_TK_E_BUSY
|
-38
|
pfcXToolkitInUse
|
PRO_TK_E_IN_USE
|
-39
|
pfcXToolkitNoLicense
|
PRO_TK_NO_LICENSE
|
-40
|
pfcXToolkitBsplUnsuitableDegree
|
PRO_TK_BSPL_UNSUITABLE_DEGREE
|
-41
|
pfcXToolkitBsplNonStdEndKnots
|
PRO_TK_BSPL_NON_STD_END_KNOTS
|
-42
|
pfcXToolkitBsplMultiInnerKnots
|
PRO_TK_BSPL_MULTI_INNER_KNOTS
|
-43
|
pfcXToolkitBadSrfCrv
|
PRO_TK_BAD_SRF_CRV
|
-44
|
pfcXToolkitEmpty
|
PRO_TK_EMPTY
|
-45
|
pfcXToolkitBadDimAttach
|
PRO_TK_BAD_DIM_ATTACH
|
-46
|
pfcXToolkitNotDisplayed
|
PRO_TK_NOT_DISPLAYED
|
-47
|
pfcXToolkitCantModify
|
PRO_TK_CANT_MODIFY
|
-48
|
pfcXToolkitCheckoutConflict
|
PRO_TK_CHECKOUT_CONFLICT
|
-49
|
pfcXToolkitCreateViewBadSheet
|
PRO_TK_CRE_VIEW_BAD_SHEET
|
-50
|
pfcXToolkitCreateViewBadModel
|
PRO_TK_CRE_VIEW_BAD_MODEL
|
-51
|
pfcXToolkitCreateViewBadParent
|
PRO_TK_CRE_VIEW_BAD_PARENT
|
-52
|
pfcXToolkitCreateViewBadType
|
PRO_TK_CRE_VIEW_BAD_TYPE
|
-53
|
pfcXToolkitCreateViewBadExplode
|
PRO_TK_CRE_VIEW_BAD_EXPLODE
|
-54
|
pfcXToolkitUnattachedFeats
|
PRO_TK_UNATTACHED_FEATS
|
-55
|
pfcXToolkitRegenerateAgain
|
PRO_TK_REGEN_AGAIN
|
-56
|
pfcXToolkitDrawingCreateErrors
|
PRO_TK_DWGCREATE_ERRORS
|
-57
|
pfcXToolkitUnsupported
|
PRO_TK_UNSUPPORTED
|
-58
|
pfcXToolkitNoPermission
|
PRO_TK_NO_PERMISSION
|
-59
|
pfcXToolkitAuthenticationFailure
|
PRO_TK_AUTHENTICATION_FAILURE
|
-60
|
pfcXToolkitAppNoLicense
|
PRO_TK_APP_NO_LICENSE
|
-92
|
pfcXToolkitAppExcessCallbacks
|
PRO_TK_APP_XS_CALLBACKS
|
-93
|
pfcXToolkitAppStartupFailed
|
PRO_TK_APP_STARTUP_FAIL
|
-94
|
pfcXToolkitAppInitialization
Failed |
PRO_TK_APP_INIT_FAIL
|
-95
|
pfcXToolkitAppVersionMismatch
|
PRO_TK_APP_VERSION_MISMATCH
|
-96
|
pfcXToolkitAppCommunication
Failure |
PRO_TK_APP_COMM_FAILURE
|
-97
|
pfcXToolkitAppNewVersion
|
PRO_TK_APP_NEW_VERSION
|
-98
|
try {
OtkObject->DoSomething()
}
xcatchbegin
xcatch (xthrowable, x) {
// Respond to the exception.
}
xcatchend
try
{
OtkObject->DoSomething()
}
xcatchbegin
xcatch (pfcXToolkitError, x)
{
// Respond based on the error code.
x->GetErrorCode();
}
xcatch (cipXConnectionClosed, x)
{
// Respond to the exception.
}
catch (xthrowable, x) // Do not forget to check for
// an unexpected error!
{
// Respond to the exception.
}
xcatchend
catch(...) {
// non-OTK exceptions go here
}
• | Creo Parametric release newer than a Creo Object
TOOLKIT C++ release: This works in many, but not all, cases. The communication method used to link Creo Object
TOOLKIT C++ to Creo Parametric provides full compatibility between releases. However, there are occasional cases where changes internal to Creo Parametric may require changes to the source code of a Creo Object
TOOLKIT C++ application in order that it continues to work correctly. Whether you need to convert Creo Object
TOOLKIT C++ applications depends on what functionality it uses and what functionality changed in Creo Parametric and Creo Object
TOOLKIT C++. PTC makes every effort to keep these effects to a minimum. The Release Notes for Creo Object
TOOLKIT C++ detail any conversion work that could be necessary for that release.
|
• | Creo Parametric build newer than Creo Object
TOOLKIT C++ build This is always supported.
|
|
|
|
|
|
• | pfcCompatibilityUndefined—Specifies that compatibility value is not set. The default compatibility value is used. |
• | pfcC3Compatible—Specifies that the methods deprecated in Creo Object TOOLKIT C++ 4.0 are compatible and continue working in Creo Object TOOLKIT C++ 4.0. By default the compatibility is set to pfcC3Compatible. |
• | pfcC4Compatible—Specifies that the methods deprecated in Creo Object TOOLKIT C++ 4.0 will not work in Creo Object TOOLKIT C++ 4.0. If your application uses the deprecated methods, you must replace these methods with new methods and rebuild you applications. |
|
|
|
|
|
|
|
• | wfcTK_CONTINUE—Specifies that the visit action method must not visit this object, but continue to visit the subsequent objects. |
• | Any other value—Specifies that the visit action method must be called for this object. The return value must be passed as the input argument to the visit action method. |
• | wfcTK_NO_ERROR—Specifies that the visit action method must continue visiting the other objects in the list. |
• | wfcTK_E_NOT_FOUND—Specifies that no items of the specified type were found and therefore no objects could be visited. |
• | Any other value including wfcTK_CONTINUE—Terminates the visit. Typically this status is returned from the visit action method on termination, so that the calling method knows the reason for the abnormal termination of the visit. |