Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

abwärtskompatibler unit zugriff

  Alt 15. Jan 2022, 05:57
Delphi-Version: 5
Hallo, in einer unit überschreibe ich den Aufruf einer anderen methode

Ich muss also den genutzten "uses" namen wissen um das original aufzurufen.

Wie realisiere ich das?

Hier mein Problem als Quelltext:
(stellt euch vor "foobar" gibt es tatsächlich auch in sysutils für dieses beispiel)

Delphi-Quellcode:
// so funktioniert es gut Beispiel:
{$IF CompilerVersion >= 23}
  {$DEFINE NameSpace}
{$ENDIF}

uses
  {$IF DEFINED(NameSpace)}System.SysUtils;{$ELSE}SysUtils;{$ENDIF}

function Foobar: Boolean;
begin
  {$IF DEFINED(NameSpace)}
    System.SysUtils.Foobar;
  {$ELSE}
    SysUtils.Foobar;
  {$ENDIF}
end;
Delphi-Quellcode:
// in diese, fall scheitert es
{$IF CompilerVersion >= 23}
  {$DEFINE NameSpace}
{$ENDIF}

uses
  SysUtils;

function Foobar: Boolean;
begin
  {$IF DEFINED(NameSpace)}
    // der name kann nicht aufgelöst werden
    System.SysUtils.Foobar;
  {$ELSE}
    SysUtils.Foobar;
  {$ENDIF}
end;
Kann ich testen/herausfunden wie der programmierer die uses klausel angewandt hat?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat