E2201 Für den Zugriff auf '%s' von Unit '%s' wird die Referenz auf importierte Daten ($G) benötigt (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Bei der Compilierung der in der Meldung angegebenen Unit war der Schalter $G nicht aktiviert.


(*$IMPORTEDDATA OFF*)
unit u0;
interface
implementation
begin
  WriteLn(System.RandSeed);
end.

program u1;
  uses u0;
end.

In diesem Beispiel soll die Unit u0 allein compiliert werden. Anschließend soll eine Compilierung von u1 zusammen mit CLXxx erfolgen (wobei 'xx' die Version bezeichnet). Das Problem tritt hier auf, weil Unit u0 unter der Voraussetzung compiliert wurde, dass sie nie auf die Daten eines Package zugreift.


(*$IMPORTEDDATA ON*)
unit u0;
interface
implementation
begin
  WriteLn(System.RandSeed);
end.

program u1;
  uses u0;
end.


Das Problem lässt sich am einfachsten durch eine erneute Compilierung der Fehler verursachenden Unit mit aktivierter Option $IMPORTEDDATA lösen.