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/133728-problem-mit-move.html)

WorstNightmare 7. Mai 2009 16:13


Problem mit Move
 
Hi,

diesmal habe ich ein Problem mit Move.

Delphi-Quellcode:
procedure TPartition.DiscRead(d: TDisc; Offset: Cardinal;
  Len: Integer; var Data);
var
  ...
  CopyBuffer: array of Byte;
begin
  ...
  // CopyBuffer bekommt vorher eine Länge, meistens 512
  if Len > 0 then
  begin
    ReadSector(FHandle, (iwlba shl iwlba_shift) + lba, 1, CopyBuffer[0]); // wird ReadFile aufrufen
    Move(CopyBuffer, Data, Len);
    Showmessage(IntToStr(CopyBuffer[0]));
  end;
end;
Aufruf:
Delphi-Quellcode:
function TMainForm.DiscRead(Offset: Int64; Count: Integer): TBytes;
begin
  SetLength(Result, Count);
  FActivePart.DiscRead(FActiveDisc, Offset, Count, Result[0]);
  Showmessage(IntToStr(Result[0]));
end;
Das obere Showmessage ergibt 82, das ist auch richtig. Das untere im Aufruf jedoch 120...
Ich vermute es liegt irgendwie an dem Move, kommt es mit dem TBytes als Ergebnis-Typ vielleicht nicht klar?

Edit: Das alte Lied.... es muss Move(CopyBuffer[0], Data, Len); heißen!! :wall:


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