Hab in sofern ein Problem hab ne DLL in ein TLB gewandelt die Pas eingebunden aber mit folgendem Aufruf ein Problem.
[Fehler] GPmain.pas(576): Variable erforderlich
hab es schon in div. varianten versucht aber leider nicht geschafft es zum laufen zu bringen.
Wer kann mit helfen.
Danke.
Newgencalc := CoCalculator.create;
newgencalc.product := 1 ;
NewGenCalc.PrivateOption := true ;
NewGenCalc.NumberAge := '01-01-1980' ;
NewGenCalc.DateStart := '01-07-2004' ;
NewGenCalc.sexind := 0 ;
NewGenCalc.NSmok := True ;
NewGenCalc.PKnown := 0 ;
NewGenCalc.SPrem := '1000' ;
NewGenCalc.RPrem := '100' ;
NewGenCalc.PartSurrs := 6 ;
NewGenCalc.Freq := 12 ;
NewGenCalc.RetAge := 65 ;
NewGenCalc.AgeOrTerm := 0 ;
NewGenCalc.Fundgrowth := 6 ;
NewGenCalc.Dynamic := 0 ;
NewGenCalc.Inflation := 0 ;
NewGenCalc.PaymentTerm := '20' ;
NewGenCalc.TargetAmount := '0' ;
NewGenCalc.TargetWhat := 0 ;
NewGenCalc.Deathbenefit := '18000' ;
NewGenCalc.WOP := True ;
NewGenCalc.Disbenefit := '18000' ;
NewGenCalc.DisTerm := 5 ;
NewGenCalc.DepotRate := '0' ;
NewGenCalc.GrowthSelection := 0 ;
NewGenCalc.Fundgrowth := 6 ;
NewGenCalc.Rateind := '0';
newgencalc.RunCalcCode;
TLB der DLL: ( wurde gekürzt )
[code]
interface
uses Windows, ActiveX, Classes, Graphics, OleServer, OleCtrls, StdVCL;
NewGenCalcEngineMajorVersion = 44;
NewGenCalcEngineMinorVersion = 0;
LIBID_NewGenCalcEngine: TGUID = '{1D18CCDD-0E1B-11D8-BD03-000874A6B8DA}';
IID__Calculator: TGUID = '{152A8220-C79A-4E5C-83C7-E971B6CDEFA1}';
CLASS_Calculator: TGUID = '{1D18CD07-0E1B-11D8-BD03-000874A6B8DA}';
type
_Calculator = interface;
_CalculatorDisp = dispinterface;
Calculator = _Calculator;
_Calculator = interface(IDispatch)
['{152A8220-C79A-4E5C-83C7-E971B6CDEFA1}']
procedure Set_Product(var Param1: Smallint); safecall;
function Get_Product: Smallint; safecall;
procedure Set_NumberAge(var Param1: WideString); safecall;
function Get_NumberAge: WideString; safecall;
procedure Set_sexind(var Param1: Smallint); safecall;
function Get_sexind: Smallint; safecall;
procedure Set_NSmok(var Param1: Smallint); safecall;
function Get_NSmok: Smallint; safecall;
procedure Set_DateStart(var Param1: WideString); safecall;
function Get_DateStart: WideString; safecall;
procedure Set_Pknown(var Param1: Smallint); safecall;
function Get_Pknown: Smallint; safecall;
procedure Set_RetAge(var Param1: WideString); safecall;
function Get_RetAge: WideString; safecall;
procedure Set_Freq(var Param1: Smallint); safecall;
function Get_Freq: Smallint; safecall;
procedure Set_Dynamic(var Param1: Smallint); safecall;
function Get_Dynamic: Smallint; safecall;
procedure RunCalcCode; safecall;
function Get_FVArrays(var InterestRate: Smallint; var iYear: Smallint): Double; safecall;
function Get_SVArrays(var InterestRate: Smallint; var iYear: Smallint): Double; safecall;
property sexind: Smallint read Get_sexind write Set_sexind;
property NSmok: Smallint read Get_NSmok write Set_NSmok;
property DateStart: WideString read Get_DateStart write Set_DateStart;
property Pknown: Smallint read Get_Pknown write Set_Pknown;
property RetAge: WideString read Get_RetAge write Set_RetAge;
property Freq: Smallint read Get_Freq write Set_Freq;
property Dynamic: Smallint read Get_Dynamic write Set_Dynamic;
property FVArrays[var InterestRate: Smallint; var iYear: Smallint]: Double read Get_FVArrays;
property SVArrays[var InterestRate: Smallint; var iYear: Smallint]: Double read Get_SVArrays;
end;
// ************************************************** *******************//
// DispIntf: _CalculatorDisp
// Flags: (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID: {152A8220-C79A-4E5C-83C7-E971B6CDEFA1}
// ************************************************** *******************//
_CalculatorDisp = dispinterface
['{152A8220-C79A-4E5C-83C7-E971B6CDEFA1}']
property Product: Smallint dispid 1745027146;
property NumberAge: WideString dispid 1745027145;
property sexind: Smallint dispid 1745027144;
property NSmok: Smallint dispid 1745027143;
property DateStart: WideString dispid 1745027142;
property Pknown: Smallint dispid 1745027141;
property RetAge: WideString dispid 1745027140;
property Freq: Smallint dispid 1745027139;
property Dynamic: Smallint dispid 1745027138;
property RPrem: WideString dispid 1745027137;
property SPrem: WideString dispid 1745027136;
property Rateind: WideString dispid 1745027135;
property Fundgrowth: Double dispid 1745027134;
property Inflation: Smallint dispid 1745027133;
property Direkt: Smallint dispid 1745027132;
property AgeOrTerm: Smallint dispid 1745027131;
property PaymentTerm: WideString dispid 1745027130;
property PartSurrs: WideString dispid 1745027129;
property PerMilleAddLF: WideString dispid 1745027128;
property PerMilleDurLF: WideString dispid 1745027127;
property PercentAddLF: WideString dispid 1745027126;
property PercentAddWOP: WideString dispid 1745027125;
property YToALF: WideString dispid 1745027124;
property PercentAddDis: WideString dispid 1745027123;
property PermilleAddDis: WideString dispid 1745027122;
property PermilleDurDis: WideString dispid 1745027121;
property Deathbenefit: WideString dispid 1745027120;
property Disbenefit: WideString dispid 1745027119;
property DisTerm: WideString dispid 1745027118;
property WOP: WordBool dispid 1745027117;
property SP_No_PolFee: WordBool dispid 1745027116;
property DepotRate: WideString dispid 1745027115;
property PDOAmnt: WideString dispid 1745027114;
property TargetWhat: Smallint dispid 1745027113;
property TargetAmount: WideString dispid 1745027112;
property GrowthSelection: Smallint dispid 1745027111;
property PrivateOption: Smallint dispid 1745027110;
function CalcFinalSumOfPremiums: Double; dispid 1610809433;
procedure RunCalcCode; dispid 1610809439;
property FVArrays[var InterestRate: Smallint; var iYear: Smallint]: Double readonly dispid 1745027109;
property SVArrays[var InterestRate: Smallint; var iYear: Smallint]: Double readonly dispid 1745027108;
property iNumberOfYears: Double readonly dispid 1745027107;
property dPremiumsPA: Double readonly dispid 1745027106;
property PremForPrem: Double readonly dispid 1745027105;
property PremiumA: Integer readonly dispid 1745027104;
property TermB: Smallint readonly dispid 1745027103;
property BenefitsY: Integer readonly dispid 1745027102;
property PremiumX: Integer readonly dispid 1745027101;
property NoGuaranteeAnnuity[var Intrate: Smallint]: Double readonly dispid 1745027100;
property FiveYearAnnCertain[var Intrate: Smallint]: Double readonly dispid 1745027099;
property GuaranteeAnnuity[var Intrate: Smallint]: Double readonly dispid 1745027098;
property RegularPremium: Double readonly dispid 1745027097;
property SinglePremium: Double readonly dispid 1745027096;
property Frequency: Double readonly dispid 1745027095;
property OutputDeathBenefit: Double readonly dispid 1745027094;
property OutputDisabilityBenefit: Double readonly dispid 1745027093;
property OutputWOP: WordBool readonly dispid 1745027092;
property OutputPDOPrem: Double readonly dispid 1745027091;
property FinalRegularPremium[var Year: Smallint]: Double readonly dispid 1745027090;
property FundRateChosen: Double readonly dispid 1745027089;
property FundRateUWPGuar: Double readonly dispid 1745027088;
property AnnuityRateUWPGuar: Double readonly dispid 1745027087;
property FinalAnnuity: Double readonly dispid 1745027086;
property MinInvoked: WordBool readonly dispid 1745027085;
property MaxInvoked: WordBool readonly dispid 1745027084;
property UWPDV_ERROR: WordBool readonly dispid 1745027083;
property NegativeFund: WordBool readonly dispid 1745027082;
property BenefitIncreaseMin: WordBool readonly dispid 1745027081;
property BenefitDecreaseMax: WordBool readonly dispid 1745027080;
property OriginalTerm: Smallint readonly dispid 1745027079;
property UWPTextMessageString: WideString readonly dispid 1745027078;
property BenefitsZ: Integer readonly dispid 1745027077;
property DisabilityY: Integer readonly dispid 1745027076;
property DisabilityZ: Integer readonly dispid 1745027075;
property Output_Commission: Integer readonly dispid 1745027074;
property SOP_Fail_Ind: WordBool readonly dispid 1745027073;
property Bus_WOP_Prem: Double readonly dispid 1745027072;
end;
CoCalculator = class
class function Create: _Calculator;
class function CreateRemote(const MachineName: string): _Calculator;
end;
implementation
uses ComObj;
class function CoCalculator.Create: _Calculator;
begin
Result := CreateComObject(CLASS_Calculator) as _Calculator;
end;
class function CoCalculator.CreateRemote(const MachineName: string): _Calculator;
begin
Result := CreateRemoteComObject(MachineName, CLASS_Calculator) as _Calculator;
end;
end.
[Fehler] GPmain.pas(576): Variable erforderlich
hab es schon in div. varianten versucht aber leider nicht geschafft es zum laufen zu bringen.
Wer kann mit helfen.
Danke.
Newgencalc := CoCalculator.create;
newgencalc.product := 1 ;
NewGenCalc.PrivateOption := true ;
NewGenCalc.NumberAge := '01-01-1980' ;
NewGenCalc.DateStart := '01-07-2004' ;
NewGenCalc.sexind := 0 ;
NewGenCalc.NSmok := True ;
NewGenCalc.PKnown := 0 ;
NewGenCalc.SPrem := '1000' ;
NewGenCalc.RPrem := '100' ;
NewGenCalc.PartSurrs := 6 ;
NewGenCalc.Freq := 12 ;
NewGenCalc.RetAge := 65 ;
NewGenCalc.AgeOrTerm := 0 ;
NewGenCalc.Fundgrowth := 6 ;
NewGenCalc.Dynamic := 0 ;
NewGenCalc.Inflation := 0 ;
NewGenCalc.PaymentTerm := '20' ;
NewGenCalc.TargetAmount := '0' ;
NewGenCalc.TargetWhat := 0 ;
NewGenCalc.Deathbenefit := '18000' ;
NewGenCalc.WOP := True ;
NewGenCalc.Disbenefit := '18000' ;
NewGenCalc.DisTerm := 5 ;
NewGenCalc.DepotRate := '0' ;
NewGenCalc.GrowthSelection := 0 ;
NewGenCalc.Fundgrowth := 6 ;
NewGenCalc.Rateind := '0';
newgencalc.RunCalcCode;
TLB der DLL: ( wurde gekürzt )
[code]
interface
uses Windows, ActiveX, Classes, Graphics, OleServer, OleCtrls, StdVCL;
NewGenCalcEngineMajorVersion = 44;
NewGenCalcEngineMinorVersion = 0;
LIBID_NewGenCalcEngine: TGUID = '{1D18CCDD-0E1B-11D8-BD03-000874A6B8DA}';
IID__Calculator: TGUID = '{152A8220-C79A-4E5C-83C7-E971B6CDEFA1}';
CLASS_Calculator: TGUID = '{1D18CD07-0E1B-11D8-BD03-000874A6B8DA}';
type
_Calculator = interface;
_CalculatorDisp = dispinterface;
Calculator = _Calculator;
_Calculator = interface(IDispatch)
['{152A8220-C79A-4E5C-83C7-E971B6CDEFA1}']
procedure Set_Product(var Param1: Smallint); safecall;
function Get_Product: Smallint; safecall;
procedure Set_NumberAge(var Param1: WideString); safecall;
function Get_NumberAge: WideString; safecall;
procedure Set_sexind(var Param1: Smallint); safecall;
function Get_sexind: Smallint; safecall;
procedure Set_NSmok(var Param1: Smallint); safecall;
function Get_NSmok: Smallint; safecall;
procedure Set_DateStart(var Param1: WideString); safecall;
function Get_DateStart: WideString; safecall;
procedure Set_Pknown(var Param1: Smallint); safecall;
function Get_Pknown: Smallint; safecall;
procedure Set_RetAge(var Param1: WideString); safecall;
function Get_RetAge: WideString; safecall;
procedure Set_Freq(var Param1: Smallint); safecall;
function Get_Freq: Smallint; safecall;
procedure Set_Dynamic(var Param1: Smallint); safecall;
function Get_Dynamic: Smallint; safecall;
procedure RunCalcCode; safecall;
function Get_FVArrays(var InterestRate: Smallint; var iYear: Smallint): Double; safecall;
function Get_SVArrays(var InterestRate: Smallint; var iYear: Smallint): Double; safecall;
property sexind: Smallint read Get_sexind write Set_sexind;
property NSmok: Smallint read Get_NSmok write Set_NSmok;
property DateStart: WideString read Get_DateStart write Set_DateStart;
property Pknown: Smallint read Get_Pknown write Set_Pknown;
property RetAge: WideString read Get_RetAge write Set_RetAge;
property Freq: Smallint read Get_Freq write Set_Freq;
property Dynamic: Smallint read Get_Dynamic write Set_Dynamic;
property FVArrays[var InterestRate: Smallint; var iYear: Smallint]: Double read Get_FVArrays;
property SVArrays[var InterestRate: Smallint; var iYear: Smallint]: Double read Get_SVArrays;
end;
// ************************************************** *******************//
// DispIntf: _CalculatorDisp
// Flags: (4560) Hidden Dual NonExtensible OleAutomation Dispatchable
// GUID: {152A8220-C79A-4E5C-83C7-E971B6CDEFA1}
// ************************************************** *******************//
_CalculatorDisp = dispinterface
['{152A8220-C79A-4E5C-83C7-E971B6CDEFA1}']
property Product: Smallint dispid 1745027146;
property NumberAge: WideString dispid 1745027145;
property sexind: Smallint dispid 1745027144;
property NSmok: Smallint dispid 1745027143;
property DateStart: WideString dispid 1745027142;
property Pknown: Smallint dispid 1745027141;
property RetAge: WideString dispid 1745027140;
property Freq: Smallint dispid 1745027139;
property Dynamic: Smallint dispid 1745027138;
property RPrem: WideString dispid 1745027137;
property SPrem: WideString dispid 1745027136;
property Rateind: WideString dispid 1745027135;
property Fundgrowth: Double dispid 1745027134;
property Inflation: Smallint dispid 1745027133;
property Direkt: Smallint dispid 1745027132;
property AgeOrTerm: Smallint dispid 1745027131;
property PaymentTerm: WideString dispid 1745027130;
property PartSurrs: WideString dispid 1745027129;
property PerMilleAddLF: WideString dispid 1745027128;
property PerMilleDurLF: WideString dispid 1745027127;
property PercentAddLF: WideString dispid 1745027126;
property PercentAddWOP: WideString dispid 1745027125;
property YToALF: WideString dispid 1745027124;
property PercentAddDis: WideString dispid 1745027123;
property PermilleAddDis: WideString dispid 1745027122;
property PermilleDurDis: WideString dispid 1745027121;
property Deathbenefit: WideString dispid 1745027120;
property Disbenefit: WideString dispid 1745027119;
property DisTerm: WideString dispid 1745027118;
property WOP: WordBool dispid 1745027117;
property SP_No_PolFee: WordBool dispid 1745027116;
property DepotRate: WideString dispid 1745027115;
property PDOAmnt: WideString dispid 1745027114;
property TargetWhat: Smallint dispid 1745027113;
property TargetAmount: WideString dispid 1745027112;
property GrowthSelection: Smallint dispid 1745027111;
property PrivateOption: Smallint dispid 1745027110;
function CalcFinalSumOfPremiums: Double; dispid 1610809433;
procedure RunCalcCode; dispid 1610809439;
property FVArrays[var InterestRate: Smallint; var iYear: Smallint]: Double readonly dispid 1745027109;
property SVArrays[var InterestRate: Smallint; var iYear: Smallint]: Double readonly dispid 1745027108;
property iNumberOfYears: Double readonly dispid 1745027107;
property dPremiumsPA: Double readonly dispid 1745027106;
property PremForPrem: Double readonly dispid 1745027105;
property PremiumA: Integer readonly dispid 1745027104;
property TermB: Smallint readonly dispid 1745027103;
property BenefitsY: Integer readonly dispid 1745027102;
property PremiumX: Integer readonly dispid 1745027101;
property NoGuaranteeAnnuity[var Intrate: Smallint]: Double readonly dispid 1745027100;
property FiveYearAnnCertain[var Intrate: Smallint]: Double readonly dispid 1745027099;
property GuaranteeAnnuity[var Intrate: Smallint]: Double readonly dispid 1745027098;
property RegularPremium: Double readonly dispid 1745027097;
property SinglePremium: Double readonly dispid 1745027096;
property Frequency: Double readonly dispid 1745027095;
property OutputDeathBenefit: Double readonly dispid 1745027094;
property OutputDisabilityBenefit: Double readonly dispid 1745027093;
property OutputWOP: WordBool readonly dispid 1745027092;
property OutputPDOPrem: Double readonly dispid 1745027091;
property FinalRegularPremium[var Year: Smallint]: Double readonly dispid 1745027090;
property FundRateChosen: Double readonly dispid 1745027089;
property FundRateUWPGuar: Double readonly dispid 1745027088;
property AnnuityRateUWPGuar: Double readonly dispid 1745027087;
property FinalAnnuity: Double readonly dispid 1745027086;
property MinInvoked: WordBool readonly dispid 1745027085;
property MaxInvoked: WordBool readonly dispid 1745027084;
property UWPDV_ERROR: WordBool readonly dispid 1745027083;
property NegativeFund: WordBool readonly dispid 1745027082;
property BenefitIncreaseMin: WordBool readonly dispid 1745027081;
property BenefitDecreaseMax: WordBool readonly dispid 1745027080;
property OriginalTerm: Smallint readonly dispid 1745027079;
property UWPTextMessageString: WideString readonly dispid 1745027078;
property BenefitsZ: Integer readonly dispid 1745027077;
property DisabilityY: Integer readonly dispid 1745027076;
property DisabilityZ: Integer readonly dispid 1745027075;
property Output_Commission: Integer readonly dispid 1745027074;
property SOP_Fail_Ind: WordBool readonly dispid 1745027073;
property Bus_WOP_Prem: Double readonly dispid 1745027072;
end;
CoCalculator = class
class function Create: _Calculator;
class function CreateRemote(const MachineName: string): _Calculator;
end;
implementation
uses ComObj;
class function CoCalculator.Create: _Calculator;
begin
Result := CreateComObject(CLASS_Calculator) as _Calculator;
end;
class function CoCalculator.CreateRemote(const MachineName: string): _Calculator;
begin
Result := CreateRemoteComObject(MachineName, CLASS_Calculator) as _Calculator;
end;
end.
Comment