AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Fehlermeldung beim Schreiben in der Registry

Ein Thema von Amalkotey · begonnen am 16. Jul 2021 · letzter Beitrag vom 19. Aug 2021
Antwort Antwort
Seite 2 von 3     12 3   
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#11

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 31. Jul 2021, 17:43
@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:
https://youtu.be/5Owfu_MstcU
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von Amalkotey
Amalkotey

Registriert seit: 9. Feb 2004
Ort: Oberhausen
36 Beiträge
 
Delphi 2007 Enterprise
 
#12

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 1. Aug 2021, 13:08
@generic: Danke fü+r Deinen Beitrag.
esdaS© - ESPRIT DATA SOFTWARE
[esdaS© := Software mit Charisma und Esprit]
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#13

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 1. Aug 2021, 18:24
@generic
Feine Sache gut erklärt!

Eins sollte man jedoch ändern wenn man vom Code her schon so penibel ist.

Delphi-Quellcode:
  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;
zu
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);

Geändert von venice2 ( 1. Aug 2021 um 22:20 Uhr)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#14

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 2. Aug 2021, 10:54
@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.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#15

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 2. Aug 2021, 12:47
Wichtiger scheint mir der fehlerträchtige Vergleich mit true zu sein.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#16

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 2. Aug 2021, 12:53
Zitat:
Eigentlich hast du nur den Code anders formatiert.
Nein ich habe das True entfernt das ist der Entscheidende Faktor.
Und bei einer einfachen If Verschachtlung braucht man kein Begin .. End da reicht ein Else.
Wichtiger scheint mir der fehlerträchtige Vergleich mit true zu sein.
Richtig!

Auf der einen Seite schreibt er in seinem Beitrag
if not isUser
was ja auch korrekt ist.

Auf der anderen Seite könnte er es aber auch so schreiben
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"

Geändert von venice2 ( 2. Aug 2021 um 13:22 Uhr)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.377 Beiträge
 
Delphi 11 Alexandria
 
#17

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 2. Aug 2021, 12:56

...
Eins sollte man jedoch ändern wenn man vom Code her schon so penibel ist.
... If IsWow64 Then
Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_64KEY)
Else
Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_32KEY);[/DELPHI]
Und wenn schon, denn schon
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 "
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#18

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 2. Aug 2021, 13:00

...
Eins sollte man jedoch ändern wenn man vom Code her schon so penibel ist.
... If IsWow64 Then
Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_64KEY)
Else
Reg := TRegistry.Create(KEY_ALL_ACCESS OR KEY_WOW64_32KEY);[/DELPHI]
Und wenn schon, denn schon
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 "
Ich wollte nicht seinen Code umschreiben und habe ihn so übernommen.
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.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#19

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 2. Aug 2021, 16:23
Ich hätte jetzt schwören können, dass der Compiler mit Optimierung
Code:
if a=true then
genau so behandelt wie
Code:
if a then
Aber es kommt was anderes raus:
c.png

Code:
if a<>false then
ist wie
Code:
if a then
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott

Geändert von generic ( 2. Aug 2021 um 16:44 Uhr)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.377 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: Fehlermeldung beim Schreiben in der Registry

  Alt 2. Aug 2021, 16:46
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.

Geändert von freimatz ( 3. Aug 2021 um 07:40 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:38 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