Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit "move" (https://www.delphipraxis.net/106603-problem-mit-move.html)

alldelphinator 13. Jan 2008 21:27


Problem mit "move"
 
Guten Tag erstmal,
ich bin im Begriff eine transparente XOR-Verschlüsselung zu basteln. Das agnze ist eine Ableitung von TStream und damit (meiner Meiung nach) gut zu verwenden. Klappt auch alles so weit, bis auf das der ganze Kram abstürzt, wenn vollgendes aufgerufen wird:
(Bei move gibt es eine Zugriffsverletzung).
Delphi-Quellcode:
var
  I: Integer;
  s : array of byte;
begin
  setlength(s, count+1);
  move(Buffer,s, Count);
  for I := 0 to Count -1 do
  begin
    s[i] := s[i] xor (ord(PW[((FStream.Position-Count+I) mod length(PW))+1]));
  end;
  result := FStream.Write(s, count);
end;
Ich hab erhlich gesagt keine Ahnung, was ich tun soll, bzw. wo das Problem liegt. Verzeicht mir meine Wenige Erfahrung mit Pointern und direktem Speicherzugriff :angel2:
Danke im Voraus!!

SirThornberry 13. Jan 2008 21:35

Re: Problem mit "move"
 
s ist ein dynamisches Array und somit intern nur ein Pointer. Mit Move greifst du jetzt auf die Stelle zu wo der Pointer ist (4 Bytes und danach irgendwas ungewisses). Wenn du auf die eigentlichen Daten zugreifen willst verwende s[0]

alldelphinator 13. Jan 2008 21:41

Re: Problem mit "move"
 
Wow.... Nach 8 Minuten schon ne Antwort... Ich bin fertig... Und sie funktioniert... :party:
Vielen Dank nochmal!!!
:cheers:


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