Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-07-2018
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por dec Ver Mensaje
Yo, en mi ignorancia, iba a responder de entrada que el método constructor de tu clase INI tenía que ser "override" y no "overload". Pero, al probarlo aquí, me dí cuenta de que no era tan sencillo como hacer esto...

Si, yo también me di cuenta del cambio de palabra overload/override David, pero el problema está en la definición de las clases base, que como he dicho no están definidas para que se puedan "sobreescribir".
Como bien dices, al realizar el cambio da el error de "Cannot override a non-virtual method".
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #2  
Antiguo 13-07-2018
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Poder: 11
bucanero Va camino a la fama
Gracias DEC y movorack por responder

Cita:
Empezado por Neftali [Germán.Estévez] Ver Mensaje
Si, yo también me di cuenta del cambio de palabra overload/override David, pero el problema está en la definición de las clases base, que como he dicho no están definidas para que se puedan "sobreescribir".
Como bien dices, al realizar el cambio da el error de "Cannot override a non-virtual method".
Ese es el error que me estuvo trastocando todo el tiempo y la necesidad de buscar alguna alternativa al problema.


En cuanto al reintroduce también lo intente y el resultado fue el mismo. En tu código te ha funcionado porque has llamado directamente al método create de la clase TMyIniFile, y de este modo incluso con el overload funciona
Cita:
Empezado por movorack Ver Mensaje
Puedes usar reintroduce

Código Delphi [-]
  FConfig := TMyIniFile.Create(ChangeFileExt(ParamStr(0), '.ini'));
pero en mi código la llamada es a traves de una variable que apunta a una clase derivada de TINIFile y no de TMyIniFile, y para este caso el reintroduce también sigue fallando.

Código Delphi [-]
type
  TClassIniFile = class of TInifile;

var
  ClassIniFile: TClassIniFile = nil;
...
  ClassIniFile:=TMyIniFile;
  ClassIniFile.create(IniFileName);



Gracias a todos por dedicarle tiempo a esta cuestión
Un saludo
Responder Con Cita
Respuesta



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
Crear objetos mediante su clase coso Trucos 0 05-12-2008 23:37:15
duda al crear un descendiente de tpanel hibero OOP 1 23-05-2008 21:07:52
problema crear dll con clase rzf1983 Varios 9 08-11-2007 22:56:52
crear un evento en una clase? chelox OOP 4 06-06-2007 20:14:20
Crear clase. Basico de POO. DarkByte OOP 17 24-08-2005 17:37:21


La franja horaria es GMT +2. Ahora son las 01:57:32.


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