AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

STRING könnte undefiniert sein.

Ein Thema von stahli · begonnen am 23. Nov 2016 · letzter Beitrag vom 24. Nov 2016
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.385 Beiträge
 
Delphi 12 Athens
 
#1

AW: STRING könnte undefiniert sein.

  Alt 24. Nov 2016, 01:47
Alle gemanageten Typen sind immer initialisiert, da die automatische Speicherverwaltung sonst nicht funktionieren kann.

ABER, hier ist es nicht so initialisiert, wie es dir gefallen würde.

Delphi implementiert dein function TMyObject.MyString: string; intern so procedure TMyObject.MyString(var Result: string); // als letztes Parameter
und das eribt was Schönes, wenn diese Variable schon vorher durch was Anderes gefüllt/wiederverwendet wurde.

Zitat:
Ein String, dem man nix zuweist ist ein Leerstring, hat also einen definierten Inhalt.
Definiert ja, aber nicht immer ein Leerstring. (lokale Variablen ja, aber nicht "zwangsweise" immer beim Result)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (24. Nov 2016 um 01:49 Uhr)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: STRING könnte undefiniert sein.

  Alt 24. Nov 2016, 09:30
Zitat:
Ein String, dem man nix zuweist ist ein Leerstring, hat also einen definierten Inhalt.
Definiert ja, aber nicht immer ein Leerstring. (lokale Variablen ja, aber nicht "zwangsweise" immer beim Result)
Deshalb schrieb ich ja auch:
Zitat:
Meine bisherige praktische Erfahrung.
Will heißen, mir ist bewusst nix anderes untergekommen, das heißt aber nicht, dass es beim nächsten Mal nicht doch anders sein könnte.

Meine Regel ist: Wenn der Compiler meckert, dass was undefiniert sein könnte, dann hat er recht und ich habe das zu korrigieren. Ohne Wenn und Aber.

Und wenn er nicht meckert, habe ich gefälligst selbst aufzupassen

Geändert von nahpets (24. Nov 2016 um 09:42 Uhr) Grund: Schon wieder Schreibfehler in sonem bisserl Täckscht :-(
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.385 Beiträge
 
Delphi 12 Athens
 
#3

AW: STRING könnte undefiniert sein.

  Alt 24. Nov 2016, 09:34
Jupp, das was angemeckert wird, ist meistens falsch.
Zusätzlich wird "Vieles" nicht angemeckert, obwohl es potentiell falsch sein kann/ist.
Und selten wird was angemeckert, obwohl es richtig ist.

Lokale Variablen sind nicht initialisiert, abgesehn gemanagte Typen.
Globales und Klassenfelder sind immer initialisiert.
Thread-Lokales ist initialisiert, wird aber nicht finalisiert.
Und was in Pointern liegt, da ist der Entwickler dran Schuld.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (24. Nov 2016 um 09:37 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz