![]() |
![]() |
| Paypal | 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"
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi! |
|
#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 17: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 16:42:01 |
| "OBJECT OR CLASS TYPE REQUIRED" en "APPLICATION EXENAME" | Xavierator | Varios | 3 | 27-10-2008 10:09:50 |
| Problema en RAVE 6.0.2 RvLEModule.pas "Invalid class typecast". | JoseQ | Impresión | 2 | 13-11-2007 13:40:02 |
| Error "class String Not Valid" | toro2186 | OOP | 9 | 26-07-2005 17:23:30 |
| Error en previsualización:"Error raised exception class..." | SGL | Impresión | 1 | 22-06-2005 13:28:16 |
|