Sign in Join
Wiki copytemporary

Revision 1 of 1, by Olaf on 4-21-2013. The page as it is now.

sVarstringchecks/de

Zurück zu den lokalen Compiler Direktiven.\

==$VARSTRINGCHECKS und $V== Die Compiler Direktiven $VARSTRINGCHECKS und $V sind in Ihrer Verwendung Synonym.
Die Compiler Direktive $VARSTRINGCHECKS, legt fest, wie streng der Compiler bei der Prüfung von Zuweisungen von Datentypen vom Typ String ist.
Die Compiler Direktive $V kennt zwei Schalter + und -.
Die Compiler Direktive $VARSTRINGCHECKS kennt zwei Schalter ON und OFF.\

Beispiel für einen Fehler:

pascal
{$V+} // Schaltet die strenge Zuweisungskontrolle ein
pascal
procedure subTest(var strUebergabe: shortString);
begin
    showmessage(strUebergabe);
end;
pascal
procedure TForm1.Button1Click(Sender: TObject);
var
  strWert : String[12];
begin
    strWert:='123456789012';
    subTest(strWert);
end;

Das obige Beispiel erzeugt folgende Fehlermeldung:
unit1.pas(45,20) Error: String types have to match exactly in $V+ mode\

Die Fehlermeldung kommt daher, das beide Strings zwar vom Datentyp shortstring sind, aber eine unterschiedliche Länge haben.\

Beispiel für ein fehlerfreies compilieren:

pascal
{$V-} //Schaltet die strenge Zuweisungskontrolle aus
pascal
procedure subTest(var strUebergabe: shortString);
begin
    showmessage(strUebergabe);
end;
pascal
procedure TForm1.Button1Click(Sender: TObject);
var
  strWert : String[12];
begin
    strWert:='123456789012';
    subTest(strWert);
end;

--Olaf 10:17, 27 January 2013 (UTC)


From the Free Pascal wiki, page "sVarstringchecks/de", as it stood on 2013-04-21 after a change by Olaf, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.