Hi, it´s me, the guy with this internal error recently, while porting OpenXML to FP. Meanwhile, the compiler switch -B did help me out. Apparently by compiling all units, regardless wether they have been changed or not, this internal error is avoided. Now I believe this B stands for Back to hell, since there are other surprises with duplicate identifiers, where I never thought it could happen, see the following example.

unit xdom31;
uses
  ... xmltreeutils, ...
type
TDomNode = class (TDomCustomNode)
  private ...
  protected ...
  public ...
  property NamespaceURI: WideString read GetNamespaceURI; ...

TDomCharacterData = class (TDomNode)
  private ...
  protected ...
  public ...
    function SubstringData(const Offset, Count: Integer): WideString; virtual;

    // FPC: identifier COUNT already defined in unit xmltreeutils at line 98

    procedure ReplaceData(const Offset, Count: Integer) ...

    // FPC: identifier COUNT already defined in unit xmltreeutils at line 98
...

TDomAttr = class (TDomNode)
  private  ...
  protected  ...
  public ...
    constructor CreateNS(
        const AOwner: TDomDocumentNS;
          const NamespaceURI ...

    // FPC: identifier NamespaceURI already defined at line 1192
...

unit xmltreeutils;
...
type
TCustomOwnedNode = class(TCustomOwnedObject)
  private ...
  protected ...
  property Count: Integer read GetCount;
  ...

Conclusion: never call any parameter of any procedure or function exactly like any property of any class and its ancestors. So far I thought, parameter names of functions and procedures are always local, i.e. valid for this function or procedure block only. Is this a bug or feature of FPC vs. Delphi?

Disclaimer: I love all FPC warnings and hints. Each may be an unknown error less. In or in front of the machine.

Wolfram
--
Mosaikfabrik (r)  Bilder von Bildern  www.mosaikfabrik.de
MEMPHIS GmbH  HRB Kirchheim/Teck 1231  Geschäftsführer
Wolfram Kläger  Wrangellstrasse 11  D-70599 Stuttgart
Tel. (+49) 0711 31 944 39  Fax (+49) 012126 31 944 944

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to