AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Gute Neuigkeit! DEC 6.2 soeben released!

Ein Thema von TurboMagic · begonnen am 4. Jul 2021 · letzter Beitrag vom 25. Jul 2021
Antwort Antwort
Seite 4 von 7   « Erste     234 56     Letzte » 
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.560 Beiträge
 
Delphi 10.3 Rio
 
#31

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 8. Jul 2021, 15:11
Ich habe nur die Compiler-Direktive ausprobiert: Sie funktioniert.
Gruß, Andreas
Naja, die funktioniert bestimmt, hält aber die IDE nicht davon ab, diese Unit immer wieder
hinzuzufügen, wenn sie nicht im Uses steht.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.560 Beiträge
 
Delphi 10.3 Rio
 
#32

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 8. Jul 2021, 15:16
"Besser" wäre: GetShortClassNameFromName anpassen. Diese Funktion liefert momentan für bereits gekürzte SHA3-Namen statt SHA3_<nnn> das Resultat <nnn> zurück.

Delphi-Quellcode:
class function TDECObject.GetShortClassNameFromName(const ClassName: string): string;
var
  i: Integer;
begin
  Result := ClassName;
  if pos( 'SHA3_', ClassName ) = 1 then exit;

  i := Pos('_', Result);
  if i > 0 then
    Delete(Result, 1, i);
end;
Also das möchte ich lieber nicht umsetzen. Warum?
  1. Spezifisch für SHA3. Gibt's später weitere solche Fälle muss man immer dran denken die hier auch aufzunehmen
  2. Die Methode soll doch einen kurzen Klassennamen von einem vollständigen liefern. Also soll man diese per Design ja mit einem vollständigen und nicht mit einem bereits gekürzten Namen füttern! Ich habe ja auch das Hash_FMX Demo Programm entsprechend angepasst und das funktioniert nach meiner Anpassung ja auch für SHA3_XXX.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
416 Beiträge
 
Delphi 10.3 Rio
 
#33

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 8. Jul 2021, 15:20
Wie wäre es, wenn Du im aktuellen Projektverzeichnis eine leere Unit namens FMX.Grid.Style.pas ablegen würdest, um die DIE auszutricksen?
Gruß, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher.
John C. Cornelius
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.560 Beiträge
 
Delphi 10.3 Rio
 
#34

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 8. Jul 2021, 15:35
Wie wäre es, wenn Du im aktuellen Projektverzeichnis eine leere Unit namens FMX.Grid.Style.pas ablegen würdest, um die DIE auszutricksen?
Gruß, Andreas
Daran habe ich auch schon kurz gedacht, da ich aber nicht weiß, wofür diese Unit in 10.4.x benutzt wird würde
ich das dann ja auch austricksen...
Könnte ich evtl. nacher mal testen was dann passiert.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.560 Beiträge
 
Delphi 10.3 Rio
 
#35

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 8. Jul 2021, 15:39
Wer will kann die aktuellen Arbeiten zur Beseitigung dieser Bugs gerne Testen.
Über Rückmeldungen würde ich mich freuen.

Diese sind in diesem Branch:

https://github.com/MHumm/DelphiEncry...elease_for_6.2

- deplyoproj für Hash_FMX gefixt
- HashBenchmark FMX: StringColumn2.HorzAlign := TTextAlign.Trailing; Problem begrenzt.
Sollte jetzt keinen Fehler mehr beim Laden der FMX Datei werden, nur das mit dem
automatischen Hinzufügen der FMX.Grid.Style Unit hab' ich noch nicht im Griff.
Ich weiß auch noch nicht, was ich von der Idee halten soll, eine leere Unit
gleichen Namens im Projekt anzulegen. Was macht 10.4.x drauß, die IDE wird das
ja nicht umsonst hinzufügen...

Grüße
TurboMagic
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
351 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#36

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 8. Jul 2021, 20:39
Ich habe nun die ersten Testversuche mit der gepachten Version 6.2.1 durchgeführt und folgende Ergebnisse erzielt:

1. Mit Delphi 10.2 und 10.3 habe ich beim Kompilieren mit F9 immer wieder die Fehlermeldung E1026 mit dem Hinweis, dass MainForm.dfm in einem FMX Programm fehlen würde.
Nachdem ich das Programm mit "Erstellen" und danach mit F9 kompiliere erhalte ich keine Fehlermeldungen bei Cipher_FMX, Hash_FMX und Benchmark_FMX.

2. Test mit Delphi 10 Seattle sieht da anders aus: Cipher_FMX läßt sich nicht kompilieren, da FMX.Grid.Style nicht gefunden wird.
Hash_FMX gibt eine Fehlermeldung für Zeile 156 - 165 aus. FormMain.ShowErrorMessage dort sei IFMXDialogServiceAsync nicht bekannt
Vermutlich ist Seattle für das Programm in Fragen FMX zu alt oder?

Benchmark_FMX wirft beim Aufruf den bekannten Fehler sg_Results.Options; Nach ignorieren und Kompilierungsversuch Fehler: FMX.Grid.Style nicht gefunden.
Also Seattle scheint wohl für das DEC-Projekt nicht geeignet zu sein.

Soweit meine ersten Testversuche.
Interessant für mich und auch neu ist der Fehler E1026. Was könnte das denn sein? Das hatte ich bisher nur in den DEC-Projekten.
Komischerweise ist alles i.o wenn ich das Programm mit Erzeugen und dann F9 starte. Hat da jemand eine Erklärung?
Norbert
  Mit Zitat antworten Zitat
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
570 Beiträge
 
Delphi 10.4 Sydney
 
#37

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 8. Jul 2021, 23:25

Also das möchte ich lieber nicht umsetzen. Warum?
  1. Spezifisch für SHA3. Gibt's später weitere solche Fälle muss man immer dran denken die hier auch aufzunehmen
  2. Die Methode soll doch einen kurzen Klassennamen von einem vollständigen liefern. Also soll man diese per Design ja mit einem vollständigen und nicht mit einem bereits gekürzten Namen füttern! Ich habe ja auch das Hash_FMX Demo Programm entsprechend angepasst und das funktioniert nach meiner Anpassung ja auch für SHA3_XXX.

Grüße
TurboMagic
Hallo TM,

Dein DEC - Dein Entscheid.

Mir ist klar, was die Funktion tun sollte [vollständiger Klassenname -> Kurzname]. (Mit der Änderung hätte sie auch Kurzname -> Kurzname funktioniert.)

Wenn du sicher bist, dass GetShortClassNameFromName() ab DEC 6.2+ nie mehr mit Kurznamen als Argument aufgerufen wird, dann OK. Wenn du nicht sicher bist, dann würde ich die Funktion umschreiben und eine "Exception raisen", wenn ein unbekannter Klassenname als Argument übergeben wird. Dann würde die Funktion auch sicher das tun, was du von ihr willst.

Gruss
Michael
Michael Gasser
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
1.560 Beiträge
 
Delphi 10.3 Rio
 
#38

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 9. Jul 2021, 09:48
2. Test mit Delphi 10 Seattle sieht da anders aus: Cipher_FMX läßt sich nicht kompilieren, da FMX.Grid.Style nicht gefunden wird.
Hash_FMX gibt eine Fehlermeldung für Zeile 156 - 165 aus. FormMain.ShowErrorMessage dort sei IFMXDialogServiceAsync nicht bekannt
Vermutlich ist Seattle für das Programm in Fragen FMX zu alt oder?

Benchmark_FMX wirft beim Aufruf den bekannten Fehler sg_Results.Options; Nach ignorieren und Kompilierungsversuch Fehler: FMX.Grid.Style nicht gefunden.
Also Seattle scheint wohl für das DEC-Projekt nicht geeignet zu sein.
Hab noch nicht wirklich Zeit dafür gefunden, aber am Benchmark_FMX eine Änderung vorgenommen.
Kannst du die mal testen?

Die FMX.Grid.Style sollte dadurch jetzt erst ab 10.4 eingebunden werden:

Delphi-Quellcode:
  {$IF RTLVersion < 34}
  {$ELSE}
  FMX.Grid.Style,
  {$ENDIF}
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
351 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#39

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 9. Jul 2021, 11:52
Hallo Markus,
Habe also mit Delphi Seattle das Programm Benchmark_FMX nochmals getestet:
beim Laden der dpr-Datei erneut der Hinweis sg_Results.Options:ungültiger Eigenschaftswert (wie bereits von zuvor bekannt) dann ignorieren und Programm kompiliert mit Fehlermeldung:
Zeile 229: auf privete-Symbol TTime.Span.tostring kann nicht zugegriffen werden.
Habe daraufhin geprüft ob tostring überhaupt mit dem Aufruf möglich ist - nein, also tostring auskommentiert und ; hinter Elapsed gesetzt.
Danach läßt sich das Programm kompilieren und zeigt auch Zeiten an. Ob die wirklich so richtig sind kann ich nicht genau bestimmen. Jedenfalls läuft das Programm ohne tostring.
Da tostring ja nur die Werte in strings umwandeln soll und die Zeit tatsächlich auch angezeigt wird, dürfte ja inhaltlich an der Zeitbestimmung nichts verändert worden sein.

Hier nochmals dieser Abschnitt mit der von mir vorgenommenen Auskommentierung:

procedure TFormMain.RunBenchmark(ClassName: string; RowIndex: Integer);
var
Hash : TDECHash;
HashResult : TBytes;
i : Integer;
begin
Hash := TDECHash.ClassByName(ClassName).Create;

try
FStopwatch.Reset;
FStopwatch.Start;

for i := 0 to cIterations - 1 do
begin
HashResult := Hash.CalcBytes(FBenchmarkBuffer);
end;

FStopwatch.Stop;

sg_Results.Cells[1, RowIndex] :=
Format('%0:f', [cIterations / (FStopwatch.ElapsedMilliseconds/1000)]);
sg_Results.Cells[2, RowIndex] := FStopwatch.Elapsed; //.ToString;
finally
Hash.Free;
end;
end;

Soweit Benchmark_FMX-test mit Delphi Seattle. Die Problematik FMX.Grid.Style hat wohl funktioniert und sollte ggf auch auf andere Dateien angewendet werden, falls erforderlich.
Norbert
  Mit Zitat antworten Zitat
EdAdvokat

Registriert seit: 1. Mai 2016
Ort: Berlin
351 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#40

AW: Gute Neuigkeit! DEC 6.2 soeben released!

  Alt 9. Jul 2021, 11:55
Entschuldigung, habe den "Helm" leider nicht exakt aufgesetzt:

Delphi-Quellcode:
procedure TFormMain.RunBenchmark(ClassName: string; RowIndex: Integer);
var
  Hash : TDECHash;
  HashResult : TBytes;
  i : Integer;
begin
  Hash := TDECHash.ClassByName(ClassName).Create;

  try
    FStopwatch.Reset;
    FStopwatch.Start;

    for i := 0 to cIterations - 1 do
    begin
      HashResult := Hash.CalcBytes(FBenchmarkBuffer);
    end;

    FStopwatch.Stop;

    sg_Results.Cells[1, RowIndex] :=
      Format('%0:f', [cIterations / (FStopwatch.ElapsedMilliseconds/1000)]);
    sg_Results.Cells[2, RowIndex] := FStopwatch.Elapsed; //.ToString;
  finally
    Hash.Free;
  end;
end;
Norbert
  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 +2. Es ist jetzt 14:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf