Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   ¿Cómo se llama el objeto? (https://www.clubdelphi.com/foros/showthread.php?t=87541)

Angel.Matilla 20-01-2015 18:41:05

¿Cómo se llama el objeto?
 
Estoy usando BCB6 y QR3.
En un QuickReport defino en tiempo de ejecución un TQRExpr de la siguiente forma:
Código:

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:
Código:

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.

Al González 20-01-2015 20:17:52

Afortunadamente no tengo demasiada necesidad de programar en C/C++ (un lenguaje que ya deberíamos dejar en los museos), pero me parece que tendrías que aplicar un molde de tipo al caótico estilo de C:
Código:

((TQRExpr*) Sender)->Name
(o algo parecido).

Nótese la diferencia con la sana sintaxis de Pascal/Delphi:
Código Delphi [-]
TQRExpr (Sender).Name

Angel.Matilla 21-01-2015 09:59:47

Cita:

Empezado por Al González (Mensaje 487926)
Código:

((TQRExpr*) Sender)->Name

Perfecto. Muchas gracias.


La franja horaria es GMT +2. Ahora son las 10:29:16.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi