Difference between revisions of "$typedAddress/de"

From Lazarus wiki
Jump to navigationJump to search
m
m (take note of move)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
{{sTypedaddress}}
+
{{$typedAddress}}
 
<br>
 
<br>
 
Zurück zu den [[local compiler directives/de|lokalen Compilerdirektiven]]
 
Zurück zu den [[local compiler directives/de|lokalen Compilerdirektiven]]

Latest revision as of 16:18, 5 March 2023

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)