TStream nazwa bledu

0

Czesc
dzis mam taki mam nadzieje nietypowy problem:
Sprawa dotyczy kopiowania fragmentow plikow za pomoca klas TFileStream. Tworze dwa "strumienia" jeden zrodlowy drugi docelowy do ktorego kopiuje fragmenty pliku zrodlowego za pomoca funkcji read/write.
A cały problem jest w tym ze plik zrodlowy znajduje sie na innym komputerze w otoczeniu sieciowym i w kazdej chwili moge zostac od niego odciety (takze w trakcie dzialania programu-KOPIOWANIA DO BUFORA). Caly blok odpowiedzialny za kopiowanie chcialbym umiescic w TRY EXCEPT, zeby przechwycic informacje o braku poleczenia/dostepu do komputera
ale nie wiem jaka jest nazwa bledu.
Wiec czy ktos sie orientuje jak to zrobic?
w skrocie chodzi o to by moc zareagowac na utrate polaczenia z plikiem zrodlowym

za pomoc z gory dzieki
ten sam post umiescilem w dzilale pascal/delphi ale nikt nie odpowiedzial wiec sprobuje tutaj

0

No tak, a to jest jaki dzial?? A tak w ogóle, to chyba nie musisz nazywac bledu - po prostu OnExcept wwalasz komunikat, ze nie mozna skopiowac, i ze moze za to byc odpowiedzialne brak polaczenia z kompem..

0

moze taK ?:
porównaj dlugosc pobranego buffora z dlugoscia jaka powinien miec jezeli nie zerwie polonczenia ! jezeli sie różnia to wywal komunikat lub co tam chcesz.

0

Metoda sprawdzania czy caly bufor zostal zapelniony nie zadziala bo

var s:TFileStream;
buf:array[1..1000] of byte;
ile:Longint;
...

ile:= s.Read(buf,sizeof(buf));

funkcja read wczytuje do bufora dane, zwracajac wartosc ile udalo sie wczytac, ile moze byc <1000 np gdy wielkosc calego pliku w strumieniu jest mniejsza od 1000, i ja w taki sposob wykrywan kiedy jest koniec pliku
ale cos tym jest musze troche nad tym pomyslec, moze da sie to wykorzystac
dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1