Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 09-11-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TMainMenu no se muestra brakaman Lazarus, FreePascal, Kylix, etc. 4 06-06-2014 12:13:26
Problema al comparar y seleccionar Listbox javier.m866 Varios 14 14-12-2011 18:02:05
Como seleccionar campos de una tabla sin saber cuantos van a seleccionar david duarte SQL 7 05-04-2010 21:15:43
color TMainMenu VRO OOP 0 12-06-2008 17:45:21
!TmainMenu Desplegado Carlosguiland OOP 1 09-11-2004 19:28:11


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


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