Ver Mensaje Individual
  #7  
Antiguo 13-07-2018
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Reputación: 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