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: 38
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