Task Based Application Libraries
Applications created using different Creo Parametric API products are interoperable. These products use Creo Parametric as the medium of interaction, eliminating the task of writing native-platform specific interactions between different programming languages.
Application interoperability allows Web.Link applications to call into Creo TOOLKIT from areas not covered in the native interface. It allows you to put an HTML front end on legacy Creo TOOLKIT applications.
Managing Application Arguments
Web.Link passes application data to and from tasks in other applications as members of a sequence of pfcArgument objects. Application arguments consist of a label and a value. The value may be of any one of the following types:
•  Integer
•  Double
•  Boolean
•  ASCII string (a non-encoded string, provided for compatibility with arguments provided from C applications)
•  String (a fully encoded string)
•  pfcSelection (a selection of an item in a Creo Parametric session)
•  pfcTransform3D (a coordinate system transformation matrix)
Methods and Properties Introduced:
  • MpfcArgument.CreateIntArgValue()
  • MpfcArgument.CreateDoubleArgValue()
  • MpfcArgument.CreateBoolArgValue()
  • MpfcArgument.CreateASCIIStringArgValue()
  • MpfcArgument.CreateStringArgValue()
  • MpfcArgument.CreateSelectionArgValue()
  • MpfcArgument.CreateTransformArgValue()
  • pfcArgValue.discr
  • pfcArgValue.IntValue
  • pfcArgValue.DoubleValue
  • pfcArgValue.BoolValue
  • pfcArgValue.ASCIIStringValue
  • pfcArgValue.StringValue
  • pfcArgValue.SelectionValue
  • pfcArgValue.TransformValue
  • The class pfcArgValue contains one of the seven types of values. Web.Link provides different methods to create each of the seven types of argument values.
    The property pfcArgValue.discr returns the type of value contained in the argument value object.
    Use the methods listed above to access and modify the argument values.
    Modifying Arguments
    Methods and Properties Introduced:
  • pfcArgument.Create()
  • pfcArgument.Label
  • pfcArgument.Value
  • The method pfcArgument.Create() creates a new argument. Provide a name and value as the input arguments of this method.
    The property pfcArgument.Label returns the label of the argument.
    The property pfcArgument.Value returns the value of the argument.
    Launching a Creo Parametric TOOLKIT DLL
    The methods described in this section enable a Web.Link user to register and launch a Creo TOOLKIT DLL from a Web.Link application. The ability to launch and control a Creo TOOLKIT application enables the following:
    •  Reuse of existing Creo TOOLKIT code with Web.Link applications.
    •  ATB operations.
    Methods and Properties Introduced:
  • pfcBaseSession.LoadProToolkitDll()
  • pfcBaseSession.LoadProToolkitLegacyDll()
  • pfcBaseSession.GetProToolkitDll()
  • pfcDll.ExecuteFunction()
  • pfcDll.Id
  • pfcDll.IsActive()
  • pfcDll.Unload()
  • Use the method pfcBaseSession.LoadProToolkitDll() to register and start a Creo TOOLKIT DLL. The input parameters of this method are similar to the fields of a registry file and are as follows:
    •  ApplicationName—The name of the application to initialize.
    •  DllPath—The full path to the DLL binary file.
    •  TextPath—The path to the application’s message and user interface text files.
    •  UserDisplay—Set this parameter to true to register the application in the Creo Parametric user interface and to see error messages if the application fails. If this parameter is false, the application will be invisible to the user.
    The application's user_initialize() function is called when the application is started. The method returns a handle to the loaded Creo TOOLKIT DLL.
    In order to register and start a legacy Pro/TOOLKIT DLL that is not Unicode-compliant, use the method pfcBaseSession.LoadProToolkitLegacyDll(). This method conveys to Creo Parametric that the loaded DLL application is not Unicode-compliant and built in the pre-Wildfire 4.0 environment. It takes the same input parameters as the earlier method pfcBaseSession.LoadProToolkitLegacyDll().
    Note
    The method pfcBaseSession.GetProToolkitDll() must be used only by a pre-Wildfire 4.0 Web.Link application to load a pre-Wildfire 4.0 Pro/TOOLKIT DLL.
    Use the method pfcBaseSession.GetProToolkitDll() to obtain a Creo TOOLKIT DLL handle. Specify the Application_Id, that is, the DLL’s identifier string as the input parameter of this method. The method returns the DLL object or null if the DLL was not in session. The Application_Id can be determined as follows:
    •  Use the function ProToolkitDllIdGet() within the DLL application to get a string representation of the DLL application. Pass NULL to the first argument of ProToolkitDllIdGet() to get the string identifier for the calling application.
    •  Use the Get method for the Id attribute in the DLL interface. The method pfcDll.Id returns the DLL identifier string.
    Use the method pfcDll.ExecuteFunction() to call a properly designated function in the Creo TOOLKIT DLL library. The input parameters of this method are:
    •  FunctionName—Name of the function in the Creo TOOLKIT DLL application.
    •  InputArguments—Input arguments to be passed to the library function.
    The method returns an object of class pfcFunctionReturn. This interface contains data returned by a Creo TOOLKIT function call. The object contains the return value, as integer, of the executed function and the output arguments passed back from the function call.
    The method pfcDll.IsActive() determines whether a Creo TOOLKIT DLL previously loaded by the method pfcBaseSession.LoadProToolkitDll() is still active.
    The method pfcDll.Unload() is used to shutdown a Creo TOOLKIT DLL previously loaded by the method pfcBaseSession.LoadProToolkitDll() and the application's user_terminate() function is called.
    Launching Tasks from J-Link Task Libraries
    The methods described in this section allow you to launch tasks from a predefined task library.
    Methods Introduced:
  • pfcBaseSession.StartJLinkApplication()
  • pfcJLinkApplication.ExecuteTask()
  • pfcJLinkApplication.IsActive()
  • pfcJLinkApplication.Stop()
  • Use the method pfcBaseSession.StartJLinkApplication() to start a application. The input parameters of this method are similar to the fields of a registry file and are as follows:
    •  ApplicationName—Assigns a unique name to this application.
    •  ClassName—Specifies the name of the Java class that contains the application’s start and stop method. This should be a fully qualified Java package and class name.
    •  StartMethod—Specifies the start method of the application.
    •  StopMethod—Specifies the stop method of the application.
    •  AdditionalClassPath—Specifies the locations of packages and classes that must be loaded when starting this application. If this parameter is specified as null, the default classpath locations are used.
    •  TextPath—Specifies the application text path for menus and messages. If this parameter is specified as null, the default text locations are used.
    •  UserDisplay—Specifies whether to display the application in the Auxiliary Applications dialog box in Creo Parametric.
    Upon starting the application, the static start() method is invoked. The method returns a pfcJLinkApplication referring to the application.
    The method pfcJLinkApplication.ExecuteTask() calls a registered task method in a application. The input parameters of this method are:
    •  Name of the task to be executed.
    •  A sequence of name value pair arguments contained by the interface pfcArguments.
    The method outputs an array of output arguments.
    The method pfcJLinkApplication.IsActive() returns a True value if the application specified by the pfcJLinkApplication object is active.
    The method pfcJLinkApplication.Stop() stops the application specified by the pfcJLinkApplication object. This method activates the application’s static Stop() method.