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?