Ver Mensaje Individual
  #4  
Antiguo 09-11-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No entiendo cual es el motivo de crear una instancia de TMenuItem en el evento RecLisClick ¿ es para resguardar el objeto original ?

Por que cuando haces,
Código PHP:
   mOpcMenu mOpcionLis
ambos punteros están igualados, de manera que cualquier cambio en uno de ellos se reflejará en el otro.

Un ejemplo de lo que me refiero:
Código PHP:
// ( Button1 fue presionado )
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
  
TButton *bt = new TButton(this);

  
bt static_cast<TButton*>(Sender);  // bt == Button1
  
bt->Caption "OTRA COSA"// ahora el caption de Button1 es "OTRA COSA"
  
... 
Hubiera sido lo mismo hacer:
Código PHP:
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
  
TButton *bt static_cast<TButton*>(Sender);
  
bt->Caption "OTRA COSA"// ahora el caption de Button1 es "OTRA COSA"
  
... 
O simplemente:
Código PHP:
void __fastcall TForm1::ButtonClick(TObject *Sender)
{
  (
static_cast<TButton*>(Sender))->Caption "OTRA COSA"
Es por eso que pienso que la forma de salvaguardar el valor de la propiedad Tag se reduce a,
Código PHP:
void __fastcall TfPersona::RecLisClick(TObject *Sender)
{
  
TMenuItem *aux static_cast<TMenuItem*>(Sender);
  
int oTag aux->Tag;  // salvar el valor de la propiedad Tag en oTag

  
try {
  
/*
    Hacer todas las operaciones que puedan modificar
    el valor de la propiedad Tag, enviarlo como parámetro, etc, etc...
  */
  
}
  
__finally {
    
aux->Tag oTag// restaurar el valor previo en la propiedad Tag
  
}

ese código preservará el valor con que ingresa la propiedad Tag del TMenuItem enviado como parámetro .

Pero, como ya te comenté, no sé si entiendo bien la funcionalidad de tu código y la problemática que te está acarreando.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita