FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
#1
|
|||
|
|||
Operador IS
Hay algun sustituto en Builder para el operador "is" de delphi
ej : if IdMsgSend.MessageParts.Items[idx] is TIdAttachment then como seria la implementacion en BCpp 6 Gracias. |
#2
|
|||
|
|||
Primero,todos las clases de la VCL en C++ Builder deben crearse exclusivamente como punteros,por compatibilidad con Object Pascal.
Para poder hacer lo mismo sería: if (dynamic_cast<TButton *>(Sender)!=NULL) hacer_algo; Te diria si Sender es un TButton |
#3
|
||||
|
||||
No se si es a lo que te refieres
void __fastcall TForm1::Button1Click(TObject *Sender) { if (Sender ->ClassNameIs("TButton")) ShowMessage("Boton"); } |
#4
|
||||
|
||||
Cita:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender) { if (Sender ->ClassNameIs("TControl")) ShowMessage("Control"); Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#5
|
||||
|
||||
Lo que quieres saber es la clase padre,
TClass ClassRef; ClassRef = Sender ->ClassType(); ClassRef = ClassRef->ClassParent(); ShowMessage(String(ClassRef->ClassName())); Tendrias que hacerte un bucle hasta que ClassRef == NULL y te iria diciendo todos los atecesores, No se me ocurre otra cosa. |
#6
|
||||
|
||||
Gueno, blanco y migao
TClass ClassRef; ClassRef = Sender ->ClassType(); ClassRef = ClassRef->ClassParent(); while (ClassRef != NULL) { ShowMessage(String(ClassRef->ClassName())); ClassRef = ClassRef->ClassParent(); } |
|
|
|