Me gustaria saber si por este Foro existe alguien que halla trabajador con este Componente
el mismo sirve para hacer evaluaciones matematicas, Formulas y Funciones.
Tengo Problemas al Crear mis funciones propias para que el Componente las utilize,, pero me da error de Acceso de Violacion, no se si es un desconocimiento de la Parte de Objeto de Delphi o es que el componente simplemente no sirve para lo que necesito.
Explico Brevemente el proble acon el codigo
Código Delphi
[-]
unit UBioDataPerX;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, UbioGeneral, DB, Wwdatsrc, formula, IBCustomDataSet, IBQuery,UBioTipos, UGlobal, UBioBusPer, DateUtils, Math, UBioCxCTra;
type
TDataPer = class(TForm)
..
..
public
Global:ValoresGlobales;
Variables:array of string;
Valores:TCalcArray;
FechaBase:TDateTime;
Nombre:String;
Procedure CreaVariables;
Function BusSaldoCxp(Numero:String;Tipo:String)
ouble;
end;
var
DataPer: TDataPer;
implementation
{$R *.dfm}
procedure TDataPer.FormCreate(Sender: TObject);
begin
CreaVariables;
FechaBase:=Dateof(Now);
end;
Function TDataPer.BusSaldoCxp(Numero:String;Tipo:String)
ouble;
Begin
BusSalCxp.Close;
BusSalCxp.ParamByName('CODCIA').AsString:=Global.Cia.Codigo;
BusSalCxp.ParamByName('CODSUC').AsString:=Global.Sede.Codigo;
BusSalCxp.ParamByName('NUMTRABA').AsString:=Numero;
BusSalCxp.ParamByName('HASTA').AsDate:=FechaBase;
BusSalCxp.ParamByName('TIPO').AsString:=Tipo;
BusSalCxp.Open;
BusSalCxp.First;
Result:=BusSalCxpSALDO.AsFloat;
BusSalCxp.Close;
End;
function SaldoCXP(var Calc : TFormulaCalc):TCalcItem;
var
V1,V2,V3:String;
Monto
ouble;
begin
V1 := Calc.ItemS(1); V2 := Calc.ItemS(0); Monto:=DataPer.BusSaldoCxp(V1,V2);
SetN(result,Monto);
End;
Procedure TDataPer.CreaVariables;
begin
PCalculo.CaseSensitive := False;
setlength(Variables,100);
setlength(Valores,100);
Variables[0]:='CALCULA';
Variables[1]:='XCANTIDAD';
Variables[2]:='XMONTO';
Variables[3]:='TOT_ASIGNACION';
Variables[4]:='TOT_DEDUCCION';
Variables[5]:='TOT_DEVENGADO';
Variables[6]:='TOT_PRESTAMOS';
Variables[7]:='TOT_ACUMPROM';
Variables[8]:='TOT_ACUMISLR';
PCalculo.AddUserFunction('SaldoCXP',2,SaldoCxP,False);
end;
El error esta cuando mando a ejecutar la funcion SaldoCXP,, cuando en la
Código:
Funcion BusSaldoCxp
Se ejecuta; da el error de Acceso de Violacion,, ya probe incluso en la primera linea de esa funcion algo tan simple como Colocar Código Delphi
[-]Nombre:='prueba'
me da el mismo error,, lo unico que funciono es utilizar un objeto Visual del formulario o una propiedad.
Saludos