Dcu file not found

ramiromd picture ramiromd · Aug 15, 2013 · Viewed 25k times · Source

i have a problem compiling my Delphi code. I have 3 classes, XmlFileManager (concrete), XmlNodeManager (abstract), XmlEnpManager (child of XmlNodeManager and concrete). Below, a little of definition class code:

XmlFileManager

unit XmlFileManager;
interface
uses
  xmldom, XMLIntf, msxmldom, XMLDoc, SysUtils, DateUtils, Classes, Dialogs,
  XmlNodeManager, XmlEnpManager;
type
  TXmlFileManager = class
     [...]
  end;
[...]
end.

XmlNodeManager

unit XmlNodeManager;
interface
uses
  xmldom, XMLIntf, msxmldom, XMLDoc, SysUtils, DateUtils, Classes, Dialogs,
  XmlFileManager;
type
  TXmlNodeManager = class
     [...]
  end;
[...]
end.

XmlEnpManager

unit XmlEnpManager;

interface
uses
  xmldom, XMLIntf, msxmldom, XMLDoc, SysUtils, DateUtils, Classes, Dialogs,
  XmlFileManager,  XmlNodeManager;

type
  TXmlEnpManager = class (TXmlNodeManager)
      [...]
  end;
[...]
end.

In the XmlNodeManager and XmlEnpManager, not recognize TXmlFileManager class. An whe i compile, the compilation fails with message:

[dcc32 Fatal Error] SiGAS.dpr(23): F1026 File not found: 'XmlManager.dcu'

In the past, the XmlFileManager was called XmlManager. Any ideas ?.

My .dpr:

uses
  Forms,
  Main in 'forms\Main.pas' {Principal},
  Globals in 'units\Globals.pas',
  CrearProyectoForm in 'forms\CrearProyectoForm.pas' {NuevoProyecto},
  Validadores in 'units\Validadores.pas',
  IdiomaClass in 'units\IdiomaClass.pas',
  IdiomaCastellanoClass in 'units\IdiomaCastellanoClass.pas',
  ExcelFileManagerClass in 'units\ExcelFileManagerClass.pas',
  SeleccionarIdioma in 'forms\SeleccionarIdioma.pas' {SelectLang},
  EnpView in 'forms\EnpView.pas' {ENP},
  EnpViewGeneric in 'forms\EnpViewGeneric.pas' {EnpGeneric},
  Vcl.Themes,
  Vcl.Styles,
  EnpViewAdd in 'forms\EnpViewAdd.pas' {EnpAdd},
  EnpViewAddAfter in 'forms\EnpViewAddAfter.pas' {EnpAddAfter},
  EnpViewEdit in 'forms\EnpViewEdit.pas' {EnpEdit},
  EnpInicial in 'forms\EnpInicial.pas' {ENPViewInicial},
  XmlFileManager in 'units\XmlFileManager.pas',
  XmlNodeManager in 'units\XmlNodeManager.pas',
  XmlEnpManager in 'units\XmlEnpManager.pas';

Answer

Eugene Ryzhikov picture Eugene Ryzhikov · Aug 15, 2013

Your main source file, SiGAS.dpr, still has it listed as XmlManager, so...

Open your *.dpr file (it is just Delphi code) and fix the unit name in the uses clause, then rebuild.