Angel.Matilla
20-01-2015, 18:41:05
Estoy usando BCB6 y QR3.
En un QuickReport defino en tiempo de ejecución un TQRExpr de la siguiente forma:
TQRExpr *ExpInf;
ExpInf = new TQRExpr(fIndBln->QRBand3);
ExpInf->AutoSize = false;
ExpInf->Expression = "IF(Query.Situacion < 1, Query.Iban, '')";
ExpInf->Left = nLeft;
ExpInf->Name = "xIban";
ExpInf->Parent = fIndBln->QRBand3;
ExpInf->ParentFont = true;
ExpInf->Top = 1;
ExpInf->Transparent = true;
ExpInf->Width = 210;
ExpInf->OnPrint = fIndBln->QRExpr1Print;Por otra parte, en el QR tengo definido esto:
void __fastcall TfIndBln::QRExpr1Print(TObject *sender, AnsiString &Value)
{
TEdit *Cuenta = new TEdit(this);
Cuenta->Visible = false;
Cuenta->Text = Value;
Value = MuestraCuenta(Value, Cuenta, false);
}MuestraCuenta es una función externa que funciona a la perfección. Mi pregunta es: ¿Cómo sé cómo se llama el objeto que invoca al evento OnPrint? Evidentemente no se llama QRExpr1.
En un QuickReport defino en tiempo de ejecución un TQRExpr de la siguiente forma:
TQRExpr *ExpInf;
ExpInf = new TQRExpr(fIndBln->QRBand3);
ExpInf->AutoSize = false;
ExpInf->Expression = "IF(Query.Situacion < 1, Query.Iban, '')";
ExpInf->Left = nLeft;
ExpInf->Name = "xIban";
ExpInf->Parent = fIndBln->QRBand3;
ExpInf->ParentFont = true;
ExpInf->Top = 1;
ExpInf->Transparent = true;
ExpInf->Width = 210;
ExpInf->OnPrint = fIndBln->QRExpr1Print;Por otra parte, en el QR tengo definido esto:
void __fastcall TfIndBln::QRExpr1Print(TObject *sender, AnsiString &Value)
{
TEdit *Cuenta = new TEdit(this);
Cuenta->Visible = false;
Cuenta->Text = Value;
Value = MuestraCuenta(Value, Cuenta, false);
}MuestraCuenta es una función externa que funciona a la perfección. Mi pregunta es: ¿Cómo sé cómo se llama el objeto que invoca al evento OnPrint? Evidentemente no se llama QRExpr1.