Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism Wie statische Create-Methode aufrufen? (https://www.delphipraxis.net/57455-wie-statische-create-methode-aufrufen.html)

DerSascha 21. Nov 2005 17:34


Wie statische Create-Methode aufrufen?
 
Hallo,

kurz Frage: Wie erstelle ich ein Rijndael-Object?

In .NET hat die Klasse unglücklicherweise die statische Methode Create (und in überladener Form), was sich scheinbar nicht sonderlich gut mit Delphis Konstruktoraufruf verträgt. Hier meine Versuche :-)

Delphi-Quellcode:
var
  chiffre: Rijndael;

  chiffre := Rijndael.Create();
Quittiert mit:
[Fehler] Crypt.pas(47): E1020 Instanz von 'Rijndael' mit der abstrakten Methode 'SymmetricAlgorithm.GenerateKey' wird angelegt
[Fehler] Crypt.pas(47): E1020 Instanz von 'Rijndael' mit der abstrakten Methode 'SymmetricAlgorithm.GenerateIV' wird angelegt
[Fehler] Crypt.pas(54): E2018 Record, Objekt oder Klassentyp erforderlich
[Fehler] Crypt.pas(66): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt

Delphi-Quellcode:
  chiffre := Rijndael.&Create();
[Fehler] Crypt.pas(47): E2251 Doppeldeutiger überladener Aufruf von '&Create'
[Fehler] Crypt.pas(54): E2018 Record, Objekt oder Klassentyp erforderlich
[Fehler] Crypt.pas(66): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt

Delphi-Quellcode:
  chiffre := Rijndael.&Create('Rijndael');
wie zuvor.

Hier die C#-Methoden:
[C#] public static new Rijndael Create();
[C#] public static new Rijndael Create(string);

Danke.

sh17 22. Nov 2005 05:41

Re: Wie statische Create-Methode aufrufen?
 
Rijndael ist nur die abstrakte Basisklasse

nutze

System.Security.Cryptography.RijndaelManaged

DerSascha 22. Nov 2005 11:34

Re: Wie statische Create-Methode aufrufen?
 
Hallo Sven,

Danke für deine Hilfe. Du hast vollkommen recht: RijndaelManaged ist ein guter Vorschlag. Das habe ich gar nicht gesehen :roll:. Ich hatte mich einfach an einem C#-Beispiel orientiert, wo eben das Objekt mit diesem Create der Klasse erstellt wurde.

Wenn ich mal davon ausgehe, dass dieses Create nicht zu einer abstrakten .NET-Klasse gehöre, wie würde ich diese Mehtode aufrufen?
Reicht ein &?

Gruß,
Sascha

P.S.: Was wird da eigentlich gemanaged, die Keys für die NSA? ;-)

sh17 22. Nov 2005 14:47

Re: Wie statische Create-Methode aufrufen?
 
[quote="DerSascha"]Hallo Sven,

Wenn ich mal davon ausgehe, dass dieses Create nicht zu einer abstrakten .NET-Klasse gehöre, wie würde ich diese Mehtode aufrufen?

Eigentlich ganz normal ohne & !? Wo geht es denn noch nicht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:19 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