![]() |
Und noch ein Problem: Kann aus TFilestream nicht lesen
also... mein 2. Problem in dieser Stunde
:duck: Diesmal liefert
Delphi-Quellcode:
immer 0 zurück. FStream ist als TStream deklariert, jedoch mit
function TXORStream.Read(var Buffer; Count: Integer): Integer;
var I: Integer; s : array of byte; begin setlength(s, count); result := FStream.Read(s[0], count); for I := 0 to result -1 do begin s[i] := s[i] xor (ord(PW[((FStream.Position-result+I) mod length(PW))+1])); end; move(s[0], Buffer, result); end;
Delphi-Quellcode:
initialisiert worden. FStream.Size liefert den korrekten Wert, Position steht auch auf null. Nun frag ich mich: warum kann ich nicht aus dieser Datei lesen?? (bzw. bekomme keine Daten)
FStream := TFileStream.Create(Filename, fmOpenReadWrite OR fmShareExclusive);
|
Re: Und noch ein Problem: Kann aus TFilestream nicht lesen
vielleicht ist count ja 0 wenn position wirklich den richtigen wert hat.
|
Re: Und noch ein Problem: Kann aus TFilestream nicht lesen
oh... hatte ich vergessen anzugeben... count ist 2048... sollte auch kein Problem sein...
|
Re: Und noch ein Problem: Kann aus TFilestream nicht lesen
bist du mal schritt für schritt im debugger durchgegangen und hast die werte auch kontrolliert? Notfalls auch mal in FStream.Read rein steppen
|
Re: Und noch ein Problem: Kann aus TFilestream nicht lesen
Ich bins gerade durchgegangen. s bleibt (wie zu erwarten war, wenn nichts dran geändert wurde) mit 2048 nullen gefüllt. Ansonsten kann ich in FStream.Read nicht reinsteppen (mal abgesehen von der Assemblervariante). Sonst noch Ideen woran es leigen könne? Ich werd auch (bzw bin es schon) ratlos... Kann doch nicht sein, das man in einem Filestream nicht lesen kann :?
|
Re: Und noch ein Problem: Kann aus TFilestream nicht lesen
ein Stream liefer definiv nur 0 zurück wenn nichts gelesen wird. Und das kommt in der Regel auch nur vor wenn es nichts zu lesen gibt - also die StreamPosition nicht kleiner der Streamgröße ist. Um rein zu steppen schalten in den Projektoptionen die Debug-dcu's an
|
Re: Und noch ein Problem: Kann aus TFilestream nicht lesen
Das mit den Debug-DCU's wusste ich nicht... Danke!
Ich werd mal meinen PC neustarten, vll. brings was... Vielleicht ist noch irgendein nicht freigegebenes handle etc. im Speicher, das den Zugriff blockt... Edit: Hat nichts gebracht, gleiches Problem wie vorher... Hab noch nen Memory-Leak Problem beseitigt... gebracht hats leider nix... Edit2: Die ganze Sache auf Assignfile, Reset, Rewrite etc. umgestellt => keinerlei Veränderung??? geht immernoch nicht... Edit3: Tippe inzwischen auf etwas, das tiefer leigt... Werd mich morgen dran machen gute Nacht allerseits! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz