Einzelnen Beitrag anzeigen

junale

Registriert seit: 22. Dez 2004
Ort: Kaiserslautern
15 Beiträge
 
#1

TypeCasting UND TRCStreamDecorator (Migration D7 -> D2009

  Alt 10. Mär 2009, 11:41
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
  Mit Zitat antworten Zitat