$typedAddress/de

From Lazarus wiki
Revision as of 19:32, 15 July 2013 by Swen (talk | contribs)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Deutsch (de)

Zurück zu den lokalen Compilerdirektiven


$TYPEDADDRESS und $T

Die Compilerdirektive $TYPEDADDRESS und $T sind in Ihrer Verwendung Synonym.
Die Compilerdirektive $TYPEDADDRESS, legt fest, ob der Operator @ (Adressoperator) einen typisierten oder einen untypisierten Pointer zurück gibt.
Die Compilerdirektive $T kennt zwei Schalter + und -.
Die Compilerdirektive $TYPEDADDRESS kennt zwei Schalter ON und OFF.

Beispiel für einen Fehler:

{$T+} // schaltet den typisierten Pointer ein
 
Var
  I : Integer;
  P : PChar;
 
begin
  P:=@I;
  // Der Compiler gibt folgende Fehlermeldung aus:
  // ... : Incompatible types: got "^SmallInt" expected "PChar" 
end.


In der Standardeinstellung übergibt der Adressoperator einen untypisierten Pointer.

Beispiel:

{$T-} // Die Standardeinstellung schaltet den typisierten Pointer aus

Var
  I : Integer;
  P : PChar;
 
begin
  P:=@I;
  // Der Compiler gibt keine Fehlermeldung aus
end.



--Olaf 09:05, 25 January 2013 (UTC)