![]() |
AW: Fehlermeldung beim Schreiben in der Registry
@Amalkotey
Dein Beitrag und Frage fande ich so interessant, dass ich so frei war und habe ein CodeReview gemacht. In diesem Youtube-Video teile ich meine Gedanken zu dem Quelltext von dir mit dir/euch: ![]() |
AW: Fehlermeldung beim Schreiben in der Registry
@generic: Danke fü+r Deinen Beitrag.
|
AW: Fehlermeldung beim Schreiben in der Registry
@generic
Feine Sache gut erklärt! :thumb: Eins sollte man jedoch ändern wenn man vom Code her schon so penibel ist.
Delphi-Quellcode:
zu
If IsWow64 = True Then Begin
Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_64KEY); End Else Begin Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_32KEY); End;
Delphi-Quellcode:
If IsWow64 Then
Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_64KEY) Else Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_32KEY); |
AW: Fehlermeldung beim Schreiben in der Registry
@venice2
Eigentlich hast du nur den Code anders formatiert. In der C# Welt gibt es den Resharper, da kannst du den Formater richtig schön einstellen und dann ist das so wie es sein soll. Dieser kann sogar die Reihenfolge von private und public Sachen in Klassen umstellen - Microsoft hat da Empfehlungen. Aus diesem Grund kümmern sich die Teams wo ich arbeite nicht um sowas. Auch die Einrück-Diskussion Tabs oder Spaces - 2 oder 4 gibt es nicht. Wenn jemand was anderes haben will, soll er sich es einstellen wie er will. Vor dem Commit ins GIT läuft ein Script, welches das auf die Team-Norm bringt. Sowas wie den Resharper wünsche ich mir schon sehr lange für Delphi. Wichtig ist nur, dass Team muss seinen einen Stil haben und Hauptsache es ist einheitlich im *ganzen* Projekt. Persönlich mag ich deine Variante lieber. Beide Varianten haben Vorteile: deine Version - schlanker und evtl. besser zu lesen. Amalkotey Version - schneller mit Code zu erweitern und weniger Chance was kaputt zu machen, wenn es z.B. verschachtelte IFs gibt. |
AW: Fehlermeldung beim Schreiben in der Registry
Wichtiger scheint mir der fehlerträchtige Vergleich mit true zu sein.
|
AW: Fehlermeldung beim Schreiben in der Registry
Zitat:
Und bei einer einfachen If Verschachtlung braucht man kein Begin .. End da reicht ein Else. Zitat:
Auf der einen Seite schreibt er in seinem Beitrag
Delphi-Quellcode:
if not isUser
was ja auch korrekt ist. Auf der anderen Seite könnte er es aber auch so schreiben
Delphi-Quellcode:
if isUser = False then
Das ist aber so wie du schreibst fehlerträchtig. Es ging nicht um die Formatierung oder ob ein oder mehr Begin nötig sind sondern nur um die Prüfung auf "True" |
AW: Fehlermeldung beim Schreiben in der Registry
:thumb:
Zitat:
DRY - Don't repeat yourself. Also: beim if nur KEY_WOW64_64KEY oder KEY_WOW64_32KEY in lokaler Variable speicher und danach nur 1x "TRegistry.Create(KEY_ALL_ACCESS " |
AW: Fehlermeldung beim Schreiben in der Registry
Zitat:
Es ging nur um das Fail bzgl. auf True hin zu prüfen. Der Rest hat mich nicht Interessiert da diese Create Methode im Nachhinein in seinem Video geändert wurde. |
AW: Fehlermeldung beim Schreiben in der Registry
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hätte jetzt schwören können, dass der Compiler mit Optimierung
Code:
genau so behandelt wie
if a=true then
Code:
Aber es kommt was anderes raus:
if a then
Anhang 54226
Code:
ist wie
if a<>false then
Code:
if a then
|
AW: Fehlermeldung beim Schreiben in der Registry
Oh, jetzt bin ich baff. Ist die Optimierung aus? Oder so schlecht?
Nachtrag: liegt wohl daran, dass True so definiert ist: type Boolean = (False, True); True hat dann den Ordinalwert 1 und ist eben nicht immer not False. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 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