Ver Mensaje Individual
  #13  
Antiguo 08-09-2008
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Reputación: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por gushynet Ver Mensaje
...
Al González me sugirio la siguiente sintaxis:

Código Delphi [-]o2 := TClaseBase(o1.ClassType).crear(...)


pero no funciona asi que probe la referencia de la clase en lugar de la clase base:

Código Delphi [-]type TClaseBaseClass = class of TClaseBase; ...... o2 := TClaseBaseClass(o1.ClassType).crear(...)


y si funciona. Mi duda es porque funciona asi y no como me sugirio AI Gonzalez ya que encuentro mas coherente y mas intuitiva su solucion que como yo lo he hecho. Que diferencia hay entre usar TClaseBase y TClaseBaseClass?
...
Ahora me percato de la tremenda omisión que tuve. No funcionaba como originalmente lo escribì porque el compilador comprende una expresión de ese estilo como un molde de tipo cuyo resultado es una instancia, no una clase (estaba forzando que el compilador tratara a una clase como un objeto ).

Como lo haces después es realmente una sintaxis adecuada para lograr un molde de tipo de clase.

Saludos desde el "ciber" de mi nuevo vecindario.

Al González.
Responder Con Cita