Wiki-KopieMirror

Dies ist ein Mirror des Wikis von pascal.chat. Bearbeiten, Verlauf und Anmeldung finden dort statt.

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.

Version 1, zuletzt geändert von WikiArchive .