AGB  ·  Datenschutz  ·  Impressum  







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

Class methode problem in DEC

Ein Thema von TurboMagic · begonnen am 28. Feb 2021 · letzter Beitrag vom 28. Feb 2021
 
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
3.045 Beiträge
 
Delphi 12 Athens
 
#1

Class methode problem in DEC

  Alt 28. Feb 2021, 08:30
Hallo,

mir ist gerade aufgefallen, dass eine Architekturänderung neulich dazu führt, dass eines
der Demo Programme nicht mehr funktioniert. Leider habe ich noch keinen Weg gefunden,
wie ich das umbauen muss, damit es wie gedacht funktioniert.

Worum geht's?

1. Es gibt eine Klasse TDECHash als Basisklasse aller Hash Algorithmen
2. Diese hat eine Klassenmethode ClassByName, da sich alle konkreten Implementierungen in
einer Verwaltungsliste registrieren können. ClassByName gibt eine TDECHashClass zurück
wenn die zu suchende Klasse in der Liste ist. TDECHashClass ist so definiert:
TDECHashClass = class of TDECHash; 3. Die Architekturänderung von neulich war, dass zwischen TDECHash und den einzelnen
Implementierungsklassen eine TDECHashAuthentication Klasse geschoben wurde und die
Klassenmethode IsPasswordHash, welche das hier ausführt:
Result := self.InheritsFrom(TDECPasswordHash); wurde
nach TDECHashAuthentication verschoben. TDECPasswordHash erbt von TDECHashAuthentication
und alle in Zukunft hinzugefügten Password Hash Umsetzungen sollen von
TDECPasswordHash erben.
4. Das FMX Hash Demo Programm enthält eine COmbobox mit einer Liste aller registrierter Hash
Algorithmen und folgenden Code:
Delphi-Quellcode:
   procedure TFormMain.ComboBoxHashFunctionChange(Sender: TObject);
   begin
     CheckBoxIsPasswordHash.IsChecked :=
       TDECHash.ClassByName(
        ComboBoxHashFunction.Items[ComboBoxHashFunction.ItemIndex]).IsPasswordHash;
   end;
IsPasswordHash wird so natürlich nicht mehr gefunden, nur haben alle probierten
Änderungen nicht zum erfolg geführt. Wenn's compiliert hat und ich eine Hash-Klasse
vererbungstechnisch auf TDECPasswordHash geändert habe war IsPasswordHash trotzdem false...

Wie muss ich das anpacken, damit es sauber so wie von mir gedacht funktioniert?

Grüße
TurboMagic
  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 15:52 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