AGB  ·  Datenschutz  ·  Impressum  







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

Fehlende Compiler-Warnungen?

Ein Thema von himitsu · begonnen am 19. Okt 2020 · letzter Beitrag vom 20. Okt 2020
 
Benutzerbild von himitsu
himitsu

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

Fehlende Compiler-Warnungen?

  Alt 19. Okt 2020, 23:40
Moin Moin,

kommt es mir nur so und fehlt hier wirklich "unbedingt" eine Warnung,
oder ist das schon OK/egal so?

Delphi-Quellcode:
var
  str: string;
  obj: TEdit;
begin
  str := string(obj);
  obj := TEdit(str);
  if obj = nil then
end;
Kurzfassung aus https://www.delphipraxis.net/205781-...astermind.html
Das ist jetzt nichts Neues ... hatte ich erst vermutet, aber ist schon mindestens 10 Jahre oder gar schon immer so.


Als Erstes hätte ich wegen OBJ ein "nicht initialisiert" erwartet.
Nur bei ARC, würde es stimmen, dass es initialisiert wäre, auch wenn hier die unterschiedlichen Referenz-Mechianismen hätten es komplett verrecken lassen.

Aber vor allem den Cast zwischen Objekt und String würde ich als schwerwiegenden Programmier-Fehler ansehn
und davor sollte doch der Compiler "unbedingt" warnen, oder nicht?
Für unschönen AltCode, wo man doch mal sowas machen wöllte, wären "absichtliche" Casts über einen untypiisiterten Pointer ja noch tollerierbar, auch wenn es dennoch "Mist" wäre.
z.B. einen "String" im Data bei Items von StringList/ListBox/VirtualStringTree/...



Oder wie wäre es mit einem indirekten Cast wie bei String<->PChar, wo implizit eine Funktion dazwischen liegt? (quasi sowas wie ein Makro mit Self.FindComponent bzw. .ToString)
Und eigentlich bei Integer NativeInt<->Object ein Makro mit GetHashCode. (da HashCode aktuell einfach der Objektzeiger ist, würde es Casts in Bestandscode nicht zerballern)


-->> Noch ein paar Meinungen einholen, bevor ich den Bugreport schreibe, oder auch nicht, falls es doch nicht soooooo schlimm ist.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (19. Okt 2020 um 23:56 Uhr)
  Mit Zitat antworten Zitat
 


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:18 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 by Thomas Breitkreuz