Wieso kommt dieser Compilerhinweis?

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
PascalDragon
Beiträge: 1054
Registriert: Mi 3. Jun 2020, 07:18
OS, Lazarus, FPC: L 2.0.8, FPC Trunk, OS Win/Linux
CPU-Target: Aarch64 bis Z80 ;)
Wohnort: München

Re: Wieso kommt dieser Compilerhinweis?

Beitrag von PascalDragon »

kupferstecher hat geschrieben: Di 22. Sep 2026, 12:19 Das Problem an der Warnung "[...] of a managed type does not seem to be initialized" seh ich darin, dass man den Eindruck bekommen könnte, dass der Managed-Typ kaputt/korrumpiert ist, wenn er nicht (sauber) initialisiert ist. Was natürlich nicht der Fall ist.
Die Result-Variable kann aber aus Sicht des unbedarften Nutzers dennoch „Müll” enthalten, weswegen es besonders da wichtig ist den Nutzer zu warnen. Es gab nämlich genügend Nutzer, die in der Vergangenheit hier Probleme hatten, weswegen die Warnung überhaupt erst eingeführt wurde.
kupferstecher hat geschrieben: Di 22. Sep 2026, 12:19 Warum wird vom Compiler nicht am Anfang der Funktion das Result automatisch initialisiert? Aus Performance-Gründen?
Weil es in den meisten Fällen kein Problem macht. Außerdem gibt es Low Level Code in der RTL, der das aktiv ausnutzt.
FPC Compiler Entwickler

Antworten