Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TypeCasting UND TRCStreamDecorator (Migration D7 -> D2009) (https://www.delphipraxis.net/130546-typecasting-und-trcstreamdecorator-migration-d7-d2009.html)

junale 10. Mär 2009 10:41


TypeCasting UND TRCStreamDecorator (Migration D7 -> D2009
 
Hallo Board,

Ich habe ein kleines Problem. Bin am austesten ob meine Projekte auch unter Delphi 2009 kompiliert werden können und stelle fest: nein... zumindest nicht alle.

In einer Anwendung habe ich eine uucodierte Datei abgelegt die ich, falls Sie nicht existiert gerne wieder in den Speicher lesen möchte und nach Bearbeitung auf Festplatte speichern. Und hier trat ein mir nicht zu erklärender Fehler auf

Folgende Zeilen aus einer Sammlung von Dr. Bob [DrBobUUE; http://www.drbob42.com] lassen sich nicht mehr compilieren

Delphi-Quellcode:
type
  TTriplet = Array[0..2] of Byte;
  TKwartet = Array[0..3] of Byte;
  TKwaChar = Array[0..3] of Char;

var
  Kwartet: TKwartet;
  KwaChar: TKwaChar;

begin

...

  s := s + TKwaChar (Kwartet);

...

  Kwartet2Triplet (TKwartet (KwaChar), Triplet^);

...
end;
Ich bekomme immer folgende Meldung:
Zitat:

[DCC Fehler] JPView.pas(2879): E2089 Ungültige Typumwandlung
[DCC Fehler] JPView.pas(2945): E2089 Ungültige Typumwandlung
Ich habe dann versucht das Ganze zu umschiffen:
Delphi-Quellcode:
  function Kwartet2KwaChar (Kwartet: TKwartet): TKwaChar;
  var
    i: Byte;
    temp: TKwaChar;
  begin
    for i := 0 to 3 do temp [i] := Char (Kwartet[i]);
    Result := temp;
  end;

  function KwaChar2Kwartet (KwaChar: TKwaChar): TKwartet;
  var
    i: Byte;
    temp: TKWartet;
  begin
    for i := 0 to 3 do temp [i] := Byte (KwaChar[i]);
    Result := temp;
  end;
Dadurch kommt es aber zu einem anderen Fehler; die vorher sauber arbeitende Routine UUCode löscht nun irgendwie die StringList... den Fehler kann ich mir auch nicht erklären...

-x-x-x-

Weiteres Problem: TRCStreamDecorator liefert bei zuvor geschriebenen Dateien beim Einlesen "Invalid decryption" in der Routine TRCxStreamDecorator.ReadSalt

Auch hier habe ich keine Idee was da schief läuft.

-x-x-x-

Beides lief unter D7 einwandfrei... hat jemand eine Idee?!? Über alle Hilfen bin ich dankbar.

Habe leider nur noch 13 Tage die Testlizenz von D2009. Ist also "mitteldringend"...

Vielen Dank,
JunAle

mkinzler 10. Mär 2009 10:52

Re: TypeCasting UND TRCStreamDecorator (Migration D7 -> D
 
Es gilt nicht meher Char = Byte

junale 10. Mär 2009 11:08

Re: TypeCasting UND TRCStreamDecorator (Migration D7 -> D
 
Danke!

.oO(Manchmal braucht man echt nur eine Richtung... hatte mich bisher nicht so sher mit den Unterschieden beschäftigt)

Nachdem ich in diesem Bereich aus Char und String jeweils die AnsiVariante gewählt kann ich das Programm ohne Fehler in eine EXE übersetzen.

-x-x-x-

Leider hab ich immer noch das Problem der sich leerenden Stringliste und die Invalid Decryption (letzteres wohl, da die unterschieldichen Stringvarianten zum einsatz kommen

Werde das Problem mit nem Test mal versuchen zu isolieren.

junale 10. Mär 2009 12:20

Re: TypeCasting UND TRCStreamDecorator (Migration D7 -> D
 
Ach ne... selbst "Plain" versagt der RC4 Stromkodierer...

Wie ich aber gesehen habe gibt es wohl generelle Probleme unter Delphi 2009 (DEC - daruas ist doch aber die RC4)...

Hmm.... mit der gesamten DEC habe ich mich nie beschäftigt, weil ich den ganzen Verschlüsselungs-Kram für exakt eine Anwendung gebraucht habe.

Gibt es damit eine einfache Variante einen Strom zu kodieren/dekodieren (brauche ich für eine eigene Stringgrid-Komponente; stellt sozusagen eine Verschlüsselte CSV dar), oder muss ich mich tiefer einarbeiten.

Anmerkung es ist kein privates Projekt sondern für meinen Betrieb... nur so egen Copyright.

Bis dann,
Junale

himitsu 10. Mär 2009 13:23

Re: TypeCasting UND TRCStreamDecorator (Migration D7 -> D
 
also dieses RC4 geht auch unter D2009


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