Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Compiler warnt nicht vor unitialisiertem Record (https://www.delphipraxis.net/185779-compiler-warnt-nicht-vor-unitialisiertem-record.html)

Der schöne Günther 6. Jul 2015 11:08

Compiler warnt nicht vor unitialisiertem Record
 
Ganz ehrlich. Ich dachte meine Meinung vom Delphi-Compiler könnte nicht weiter sinken. Macht es überhaupt noch irgendeinen Sinn auf die Compilerausgabe zu schauen?

Ein paar Beispiele

Noch einen gefällig? Wie wäre es hiermit?
Delphi-Quellcode:
procedure compilerAwesomeness();
type
   TMyRecord = record
      public var x: Integer
   end;
var
   a, b: TMyRecord;
   x,y : Integer;
begin
   b := a;
   b.x := a.x; // DOES NOT raise a W1036
   x := y; // This DOES raise a W1036
end;
Der Record
Delphi-Quellcode:
a
ist nicht initialisiert, aber wen kümmert's. Keine Warnung, kein Nichts.

Übersehe ich einen Compilerschalter oder sollte ich lieber froh sein, wenigstens einen für Pentium 1-sicheres FDIV zu haben? DCC32 und DCC64, alle beide.

Mann, echt.

p80286 6. Jul 2015 11:35

AW: Compiler warnt nicht vor unitialisiertem Record
 
Ist das vlt. eine Generationenfrage?
"Variablen müssen Initialisiert werden". Und das ist mir in Fleisch und Blut übergegangen. Egal welche Sprache, egal welcher Compiler/Interpreter.

Mir ist es viel zu umständlich und zu aufwendig Listen mit Eigenschaften herum zu schleppen oder auswendig zu lernen, nach dem Motto D7 initialisiert wenn .. aber nur wenn.. mit der Ausnahme.. VBA hingegen initialisiert abhängig von den verwendeten Modulen im Modus....

Das ist wie Autofahren, nie schneller als ich bremsen kann, ein ABS kann auch mal nicht optimal funktionieren.

Gruß
K-H

Der schöne Günther 6. Jul 2015 11:50

AW: Compiler warnt nicht vor unitialisiertem Record
 
Zitat:

Zitat von p80286 (Beitrag 1307784)
Ist das vlt. eine Generationenfrage? [...] Und das ist mir in Fleisch und Blut übergegangen.

Wahrscheinlich schon. Ich mache Fehler. Und der Computer soll mich davor warnen, wenn er es kann. Das Händchenhalten bin ich bei anderen Produkten auch gewohnt.

Mir wird das auch noch in zehn Jahren passieren, das Initialisieren zu vergessen. Und genau dafür sind die Compilermeldungen doch auch da.

Nur Delphi ist hier wohl wieder der Expert Mode.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz