Mam DLL, które dane outpus do strumienia. Ale dodaje on przyrostek i prefiks, których nie chcę. Mogę utworzyć obiekt MemoryStream, pozwolić bibliotece DLL na wyprowadzenie danych, a następnie przyciąć go, ale może być kilka GB danych, więc chcę, aby był on zapisywany bezpośrednio do pliku (FileStream). Myślę, że najlepszym rozwiązaniem jest stworzenie własnej klasy Stream. Więc zrobiłem:Jak wykryć koniec strumienia?
function TFileStream2.Write(const Buffer; Count: Integer): Longint;
gdzie mogę sprawdzić stanowisko i jeśli jest to = 0 wtedy odrzucić kilka pierwszych bajtów z bufora. W ten sposób mogę przyciąć początek pliku. Ale jak wykryć koniec strumienia, aby odrzucić niektóre bajty od końca?
Ale myślę, że bajty są już zapisane na dysku. Czy w ten sposób można skrócić plik? – Tom
To zadziałało! Wielkie dzięki, David! – Tom