unit CioinaEvalActivX_TLB;

// ************************************************************************ //
// WARNING                                                                    
// -------                                                                    
// The types declared in this file were generated from data read from a       
// Type Library. If this type library is explicitly or indirectly (via        
// another type library referring to this type library) re-imported, or the   
// 'Refresh' command of the Type Library Editor activated while editing the   
// Type Library, the contents of this file will be regenerated and all        
// manual modifications will be lost.                                         
// ************************************************************************ //

// PASTLWTR : 1.2
// File generated on 07.06.03 23:09:11 from Type Library described below.

// ************************************************************************  //
// Type Lib: C:\Cioina\Temp\tmp2\CioinaEvalOLE.tlb (1)
// LIBID: {9D442773-EB6E-4910-9710-B809E3B25305}
// LCID: 0
// Helpfile: 
// HelpString: CioinaEval  Library
// DepndLst: 
//   (1) v2.0 stdole, (C:\WINNT\System32\stdole2.tlb)
//   (2) v4.0 StdVCL, (C:\WINNT\System32\STDVCL40.DLL)
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. 
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface

uses Windows, ActiveX, Classes, Graphics, StdVCL, Variants;
  

// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:        
//   Type Libraries     : LIBID_xxxx                                      
//   CoClasses          : CLASS_xxxx                                      
//   DISPInterfaces     : DIID_xxxx                                       
//   Non-DISP interfaces: IID_xxxx                                        
// *********************************************************************//
const
  // TypeLibrary Major and minor versions
  CioinaEvalActivXMajorVersion = 2;
  CioinaEvalActivXMinorVersion = 0;

  LIBID_CioinaEvalActivX: TGUID = '{9D442773-EB6E-4910-9710-B809E3B25305}';

  IID_ICioinaEval: TGUID = '{D9CBA228-3105-4426-9837-D62C16B34022}';
  CLASS_CioinaEvalCom: TGUID = '{130F173A-4511-44B1-BC75-C895C246AABF}';
type

// *********************************************************************//
// Forward declaration of types defined in TypeLibrary                    
// *********************************************************************//
  ICioinaEval = interface;
  ICioinaEvalDisp = dispinterface;

// *********************************************************************//
// Declaration of CoClasses defined in Type Library                       
// (NOTE: Here we map each CoClass to its Default Interface)              
// *********************************************************************//
  CioinaEvalCom = ICioinaEval;


// *********************************************************************//
// Interface: ICioinaEval
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {D9CBA228-3105-4426-9837-D62C16B34022}
// *********************************************************************//
  ICioinaEval = interface(IDispatch)
    ['{D9CBA228-3105-4426-9837-D62C16B34022}']
    procedure AddMathExpression; safecall;
    procedure AddSharedVar(const VarName: WideString; DefValue: Double; Protect: WordBool); safecall;
    procedure Parse(id: Integer; const MathStr: WideString; const VarStr: WideString; 
                    CheckUnknownVar: WordBool); safecall;
    procedure ParseAndDifferentiate(id: Integer; const MathStr: WideString; 
                                    const VarStr: WideString; const DerStr: WideString; 
                                    CheckUnknownVar: WordBool); safecall;
    procedure ParseWithSharedVar(id: Integer; const MathStr: WideString; CheckUnknownVar: WordBool); safecall;
    procedure ParseAndDifferentiateWithSharedVar(id: Integer; const MathStr: WideString; 
                                                 const DerStr: WideString; CheckUnknownVar: WordBool); safecall;
    procedure ClearMathExpression(id: Integer); safecall;
    function DeleteParantheses(id: Integer; const s: WideString): WideString; safecall;
    procedure ClearMathExpressionString(id: Integer); safecall;
    procedure ClearDerivativeExpressionString(id: Integer); safecall;
    procedure DoVectorOfMathExpressions(id: Integer); safecall;
    function IsValidIdentName(id: Integer; const s: WideString): WordBool; safecall;
    function Get_ListCount: Integer; safecall;
    function Get_VariableLowIndex(id: Integer): Integer; safecall;
    function Get_VariableCount(id: Integer): Integer; safecall;
    function Get_VariableValue(id: Integer; i: Integer): Double; safecall;
    procedure Set_VariableValue(id: Integer; i: Integer; Value: Double); safecall;
    function Get_SharedVar(i: Integer): Double; safecall;
    procedure Set_SharedVar(i: Integer; Value: Double); safecall;
    function Get_SharedVarCount: Integer; safecall;
    function Get_ErrorFlag(id: Integer): WordBool; safecall;
    function Get_ErrorNumber(id: Integer): Integer; safecall;
    function Get_ErrorMessageInfo(id: Integer): WideString; safecall;
    function DoMathExpression(id: Integer): Double; safecall;
    function Get_VariableName(id: Integer; i: Integer): WideString; safecall;
    function Get_SpaceLikeMultiply(id: Integer): WordBool; safecall;
    procedure Set_SpaceLikeMultiply(id: Integer; Value: WordBool); safecall;
    function Get_TotalFunctionCount(id: Integer): Integer; safecall;
    function Get_MaxIterations(id: Integer): Integer; safecall;
    procedure Set_MaxIterations(id: Integer; Value: Integer); safecall;
    function Get_MathematicaFormVariableNames(id: Integer): WideString; safecall;
    function Get_MathExpressionCount(id: Integer): Integer; safecall;
    function Get_MathExpressionString(id: Integer): WideString; safecall;
    function Get_MathematicaFormMathExpressionString(id: Integer): WideString; safecall;
    function Get_DerivativeExpressionString(id: Integer): WideString; safecall;
    function Get_MathematicaFormDerivativeExpressionString(id: Integer): WideString; safecall;
    function Get_DerivativeVariableString(id: Integer): WideString; safecall;
    function Get_MathException(id: Integer): Integer; safecall;
    function Get_PowerOperator(id: Integer): WordBool; safecall;
    procedure Set_PowerOperator(id: Integer; Value: WordBool); safecall;
    function Get_AllocDynamicMemoryInfo(id: Integer): Integer; safecall;
    function Get_BuiltInFunctionCount: Integer; safecall;
    function Get_BuiltInFunctionName(i: Integer): WideString; safecall;
    function Get_BuiltInFunctionInfo(id: Integer; i: Integer): WideString; safecall;
    function Get_ExceptionInfo(id: Integer; i: Integer): WideString; safecall;
    function Get_OwnerInfo: WideString; safecall;
    function Get_VersionInfo: WideString; safecall;
    function Get_TypeInfo: WideString; safecall;
    function Get_OriginalMathExpressionString(id: Integer): WordBool; safecall;
    procedure Set_OriginalMathExpressionString(id: Integer; Value: WordBool); safecall;
    procedure CreateList; safecall;
    procedure ClearList; safecall;
    procedure ClearSharedVariables; safecall;
    procedure FreeAll; safecall;
    function Get_ProtectVariablesEndedWithNumber(id: Integer): WordBool; safecall;
    procedure Set_ProtectVariablesEndedWithNumber(id: Integer; Value: WordBool); safecall;
    function Get_MaxStack(id: Integer): Integer; safecall;
    procedure Set_MaxStack(id: Integer; Value: Integer); safecall;
    function Get_ValuesVector(i: Integer): Double; safecall;
    function Get_ValuesVectorCount: Integer; safecall;
    function Get_RunTimeFunctionName(id: Integer; i: Integer): WideString; safecall;
    function Get_RunTimeFunctionCount(id: Integer): Integer; safecall;
    function Get_ProtectVariablesEndedWithoutNumber(id: Integer): WordBool; safecall;
    procedure Set_ProtectVariablesEndedWithoutNumber(id: Integer; Value: WordBool); safecall;
    function Get_DedicationInfo: WideString; safecall;
    function ExpressionReplace(id: Integer; const s: WideString; const OldPattern: WideString; 
                               const NewPattern: WideString): WideString; safecall;
    function Get_IsMathExpressionVariable(id: Integer): WordBool; safecall;
    function Get_IsMathExpressionPublic(id: Integer): WordBool; safecall;
    function Get_IsMathExpressionProtected(id: Integer): WordBool; safecall;
    function Get_IsMathExpressionLinear(id: Integer): WordBool; safecall;
    function Get_RunTimeFunctionDefinition(id: Integer; i: Integer): WideString; safecall;
    procedure Quit; safecall;
    property ListCount: Integer read Get_ListCount;
    property VariableLowIndex[id: Integer]: Integer read Get_VariableLowIndex;
    property VariableCount[id: Integer]: Integer read Get_VariableCount;
    property VariableValue[id: Integer; i: Integer]: Double read Get_VariableValue write Set_VariableValue;
    property SharedVar[i: Integer]: Double read Get_SharedVar write Set_SharedVar;
    property SharedVarCount: Integer read Get_SharedVarCount;
    property ErrorFlag[id: Integer]: WordBool read Get_ErrorFlag;
    property ErrorNumber[id: Integer]: Integer read Get_ErrorNumber;
    property ErrorMessageInfo[id: Integer]: WideString read Get_ErrorMessageInfo;
    property VariableName[id: Integer; i: Integer]: WideString read Get_VariableName;
    property SpaceLikeMultiply[id: Integer]: WordBool read Get_SpaceLikeMultiply write Set_SpaceLikeMultiply;
    property TotalFunctionCount[id: Integer]: Integer read Get_TotalFunctionCount;
    property MaxIterations[id: Integer]: Integer read Get_MaxIterations write Set_MaxIterations;
    property MathematicaFormVariableNames[id: Integer]: WideString read Get_MathematicaFormVariableNames;
    property MathExpressionCount[id: Integer]: Integer read Get_MathExpressionCount;
    property MathExpressionString[id: Integer]: WideString read Get_MathExpressionString;
    property MathematicaFormMathExpressionString[id: Integer]: WideString read Get_MathematicaFormMathExpressionString;
    property DerivativeExpressionString[id: Integer]: WideString read Get_DerivativeExpressionString;
    property MathematicaFormDerivativeExpressionString[id: Integer]: WideString read Get_MathematicaFormDerivativeExpressionString;
    property DerivativeVariableString[id: Integer]: WideString read Get_DerivativeVariableString;
    property MathException[id: Integer]: Integer read Get_MathException;
    property PowerOperator[id: Integer]: WordBool read Get_PowerOperator write Set_PowerOperator;
    property AllocDynamicMemoryInfo[id: Integer]: Integer read Get_AllocDynamicMemoryInfo;
    property BuiltInFunctionCount: Integer read Get_BuiltInFunctionCount;
    property BuiltInFunctionName[i: Integer]: WideString read Get_BuiltInFunctionName;
    property BuiltInFunctionInfo[id: Integer; i: Integer]: WideString read Get_BuiltInFunctionInfo;
    property ExceptionInfo[id: Integer; i: Integer]: WideString read Get_ExceptionInfo;
    property OwnerInfo: WideString read Get_OwnerInfo;
    property VersionInfo: WideString read Get_VersionInfo;
    property TypeInfo: WideString read Get_TypeInfo;
    property OriginalMathExpressionString[id: Integer]: WordBool read Get_OriginalMathExpressionString write Set_OriginalMathExpressionString;
    property ProtectVariablesEndedWithNumber[id: Integer]: WordBool read Get_ProtectVariablesEndedWithNumber write Set_ProtectVariablesEndedWithNumber;
    property MaxStack[id: Integer]: Integer read Get_MaxStack write Set_MaxStack;
    property ValuesVector[i: Integer]: Double read Get_ValuesVector;
    property ValuesVectorCount: Integer read Get_ValuesVectorCount;
    property RunTimeFunctionName[id: Integer; i: Integer]: WideString read Get_RunTimeFunctionName;
    property RunTimeFunctionCount[id: Integer]: Integer read Get_RunTimeFunctionCount;
    property ProtectVariablesEndedWithoutNumber[id: Integer]: WordBool read Get_ProtectVariablesEndedWithoutNumber write Set_ProtectVariablesEndedWithoutNumber;
    property DedicationInfo: WideString read Get_DedicationInfo;
    property IsMathExpressionVariable[id: Integer]: WordBool read Get_IsMathExpressionVariable;
    property IsMathExpressionPublic[id: Integer]: WordBool read Get_IsMathExpressionPublic;
    property IsMathExpressionProtected[id: Integer]: WordBool read Get_IsMathExpressionProtected;
    property IsMathExpressionLinear[id: Integer]: WordBool read Get_IsMathExpressionLinear;
    property RunTimeFunctionDefinition[id: Integer; i: Integer]: WideString read Get_RunTimeFunctionDefinition;
  end;

// *********************************************************************//
// DispIntf:  ICioinaEvalDisp
// Flags:     (4416) Dual OleAutomation Dispatchable
// GUID:      {D9CBA228-3105-4426-9837-D62C16B34022}
// *********************************************************************//
  ICioinaEvalDisp = dispinterface
    ['{D9CBA228-3105-4426-9837-D62C16B34022}']
    procedure AddMathExpression; dispid 1;
    procedure AddSharedVar(const VarName: WideString; DefValue: Double; Protect: WordBool); dispid 2;
    procedure Parse(id: Integer; const MathStr: WideString; const VarStr: WideString; 
                    CheckUnknownVar: WordBool); dispid 3;
    procedure ParseAndDifferentiate(id: Integer; const MathStr: WideString; 
                                    const VarStr: WideString; const DerStr: WideString; 
                                    CheckUnknownVar: WordBool); dispid 4;
    procedure ParseWithSharedVar(id: Integer; const MathStr: WideString; CheckUnknownVar: WordBool); dispid 5;
    procedure ParseAndDifferentiateWithSharedVar(id: Integer; const MathStr: WideString; 
                                                 const DerStr: WideString; CheckUnknownVar: WordBool); dispid 6;
    procedure ClearMathExpression(id: Integer); dispid 7;
    function DeleteParantheses(id: Integer; const s: WideString): WideString; dispid 8;
    procedure ClearMathExpressionString(id: Integer); dispid 9;
    procedure ClearDerivativeExpressionString(id: Integer); dispid 10;
    procedure DoVectorOfMathExpressions(id: Integer); dispid 11;
    function IsValidIdentName(id: Integer; const s: WideString): WordBool; dispid 12;
    property ListCount: Integer readonly dispid 13;
    property VariableLowIndex[id: Integer]: Integer readonly dispid 14;
    property VariableCount[id: Integer]: Integer readonly dispid 15;
    property VariableValue[id: Integer; i: Integer]: Double dispid 16;
    property SharedVar[i: Integer]: Double dispid 17;
    property SharedVarCount: Integer readonly dispid 18;
    property ErrorFlag[id: Integer]: WordBool readonly dispid 19;
    property ErrorNumber[id: Integer]: Integer readonly dispid 20;
    property ErrorMessageInfo[id: Integer]: WideString readonly dispid 21;
    function DoMathExpression(id: Integer): Double; dispid 22;
    property VariableName[id: Integer; i: Integer]: WideString readonly dispid 23;
    property SpaceLikeMultiply[id: Integer]: WordBool dispid 24;
    property TotalFunctionCount[id: Integer]: Integer readonly dispid 25;
    property MaxIterations[id: Integer]: Integer dispid 26;
    property MathematicaFormVariableNames[id: Integer]: WideString readonly dispid 27;
    property MathExpressionCount[id: Integer]: Integer readonly dispid 28;
    property MathExpressionString[id: Integer]: WideString readonly dispid 29;
    property MathematicaFormMathExpressionString[id: Integer]: WideString readonly dispid 30;
    property DerivativeExpressionString[id: Integer]: WideString readonly dispid 31;
    property MathematicaFormDerivativeExpressionString[id: Integer]: WideString readonly dispid 32;
    property DerivativeVariableString[id: Integer]: WideString readonly dispid 33;
    property MathException[id: Integer]: Integer readonly dispid 34;
    property PowerOperator[id: Integer]: WordBool dispid 35;
    property AllocDynamicMemoryInfo[id: Integer]: Integer readonly dispid 36;
    property BuiltInFunctionCount: Integer readonly dispid 37;
    property BuiltInFunctionName[i: Integer]: WideString readonly dispid 38;
    property BuiltInFunctionInfo[id: Integer; i: Integer]: WideString readonly dispid 39;
    property ExceptionInfo[id: Integer; i: Integer]: WideString readonly dispid 40;
    property OwnerInfo: WideString readonly dispid 41;
    property VersionInfo: WideString readonly dispid 42;
    property TypeInfo: WideString readonly dispid 43;
    property OriginalMathExpressionString[id: Integer]: WordBool dispid 44;
    procedure CreateList; dispid 45;
    procedure ClearList; dispid 46;
    procedure ClearSharedVariables; dispid 47;
    procedure FreeAll; dispid 48;
    property ProtectVariablesEndedWithNumber[id: Integer]: WordBool dispid 49;
    property MaxStack[id: Integer]: Integer dispid 50;
    property ValuesVector[i: Integer]: Double readonly dispid 51;
    property ValuesVectorCount: Integer readonly dispid 52;
    property RunTimeFunctionName[id: Integer; i: Integer]: WideString readonly dispid 53;
    property RunTimeFunctionCount[id: Integer]: Integer readonly dispid 54;
    property ProtectVariablesEndedWithoutNumber[id: Integer]: WordBool dispid 55;
    property DedicationInfo: WideString readonly dispid 56;
    function ExpressionReplace(id: Integer; const s: WideString; const OldPattern: WideString; 
                               const NewPattern: WideString): WideString; dispid 57;
    property IsMathExpressionVariable[id: Integer]: WordBool readonly dispid 58;
    property IsMathExpressionPublic[id: Integer]: WordBool readonly dispid 59;
    property IsMathExpressionProtected[id: Integer]: WordBool readonly dispid 60;
    property IsMathExpressionLinear[id: Integer]: WordBool readonly dispid 61;
    property RunTimeFunctionDefinition[id: Integer; i: Integer]: WideString readonly dispid 62;
    procedure Quit; dispid 63;
  end;

// *********************************************************************//
// The Class CoCioinaEvalCom provides a Create and CreateRemote method to          
// create instances of the default interface ICioinaEval exposed by              
// the CoClass CioinaEvalCom. The functions are intended to be used by             
// clients wishing to automate the CoClass objects exposed by the         
// server of this typelibrary.                                            
// *********************************************************************//
  CoCioinaEvalCom = class
    class function Create: ICioinaEval;
    class function CreateRemote(const MachineName: string): ICioinaEval;
  end;

implementation

uses ComObj;

class function CoCioinaEvalCom.Create: ICioinaEval;
begin
  Result := CreateComObject(CLASS_CioinaEvalCom) as ICioinaEval;
end;

class function CoCioinaEvalCom.CreateRemote(const MachineName: string): ICioinaEval;
begin
  Result := CreateRemoteComObject(MachineName, CLASS_CioinaEvalCom) as ICioinaEval;
end;

end.
