FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problema con "class of"
Necesito hacer algo como ésto, pero el compilador dice que así no...
Código:
Type Tuno = class loquesea: integer; end; Tdos = class(Tuno) mascosas: string; end; TunoClass = class of Tuno; TdosClass = class of Tdos; var a: TunoClass; begin ... if a is TdosClass then <- Error: Operator not applicable to this operand type ... |
#2
|
||||
|
||||
Acabo de probar (con Free Pascal) y el error que me devuelve es otro:
Código:
test.pas(19,8) Error: Class or COM interface type expected, but got "TunoClass" |
#3
|
|||
|
|||
¿Alguna idea de cómo hacerlo?
|
#4
|
||||
|
||||
Hola.
El operador is verifica la clase de un objeto en tiempo de ejecución, pero en tu caso estas verificando "TunoClass" que no es una clase sino una Referencia de clase. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 13-05-2020 a las 16:22:15. |
#5
|
|||
|
|||
Al final, la solución ha sido usar InheritsFrom, ya que funciona tanto con instancias como con clases. Ejemplo:
A. InheritsFrom(TDos) |
#6
|
||||
|
||||
Hola.
Prescindiendo de is y dependiendo de lo que busques, también te funcionarán los métodos ClassName y ClassNameIs. Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#7
|
||||
|
||||
Agrego a lo que respondieron, que no es claro el diseño de lo escrito, por lo que pregunto:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#8
|
|||
|
|||
Cita:
Como dije, lo resolví con InheritsFrom |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema con Numero a Letra - Muestra "Un Mil" en vez de "Mil" | Jovalca | Varios | 5 | 19-06-2014 15:42:01 |
"OBJECT OR CLASS TYPE REQUIRED" en "APPLICATION EXENAME" | Xavierator | Varios | 3 | 27-10-2008 09:09:50 |
Problema en RAVE 6.0.2 RvLEModule.pas "Invalid class typecast". | JoseQ | Impresión | 2 | 13-11-2007 12:40:02 |
Error "class String Not Valid" | toro2186 | OOP | 9 | 26-07-2005 16:23:30 |
Error en previsualización:"Error raised exception class..." | SGL | Impresión | 1 | 22-06-2005 12:28:16 |
|