[#31] Re: IFFChunkTool

@Krashan, post #30

Hej, moim zdaniem to jest przykład kolekcji.

Zawsze sądziłem, że kolekcje tym się różnią od cech (Prop), że mogą występować wielokrotnie.

Cechy (np. BMHD, CMAP) występują zawsze jednokrotnie w FORM.

W liście LIST wspólne cechy są zdefiniowane w PROP, ale każdy FORM może mieć też indywidualne.

Moim zdaniem BMHD w kilku chunkach FORM nie tworzy kolekcji, tylko nadal jest cechą. Być może tutaj wynika nasza różnica zdań.

Ażeby zobaczyć aktualny kontekst dla cech istnieje funkcja FindPropContext oraz ParentChunk. Może to być np. bieżący FORM, bądź LIST.

Zazwyczaj instalujemy EntryHandler, bądź ExitHandler żeby obsłużyć wchodzenie i wychodzenie z chunków. Tych funkcji używają też PropChunk, StopChunk, StopOnExit i CollectionChunk.

Chciałem to wyjaśnić, bo sam jestem ciekaw kto ma rację w tej kwestii. Również interesuję się plikami IFF.
[#32] Re: IFFChunkTool

@Krashan, post #30

Potestowałem wersję 1.1 i pomęczę jeszcze o kilka rzeczy rzeczy, które mi wyszły, a na które może w wolnej chwili chciałbyś zerknąć, bo program naprawdę fajny:
1) żółte guru 0100 000F przy operacjach modyfikujacych plik IFF (tryby Remove, Insert). Operacja zostaje ostatecznie wykonana i nie wiesza Amigi, no ale guru chwilę medytuje i wali po oczach. Może to kwestia procesora, pełny 68060 z 68060.library z OS 3.2?

2) w pewnym momencie przy próbie modyfikacji pliku IFF zaczął wyskakiwać error "Nie mogę zmienić nazwy pliku tymczasowego na źródłowy - obiekt już istnieje". W załączeniu też SnoopDos, trudno powiedzieć o co chodzu, bo widać że wcześniej Delete się udało, więc pliku nie powinno być, ale jednak Rename nie zadziałało. Ten błąd miałem raz ale trzymało aż do resetu, potem już nie udało mi się powtórzyć tego błędu.

Kolejne to już drobiazgi:
3) w przypadku wystąpienia powyższego błędu, na dysku zostaje plik IFFChunkTool.temp. Może lepiej tego tempa robić w T: niż w katalogu bieżącym?

4) nice to have - przy eksporcie (EXTRACT) chunka do pliku który już istnieje, powinien się zapytać czy user chce go nadpisać.



[#33] Re: IFFChunkTool

@vojo, post #32

Ad 2) SnoopDos pokazuje że chwilę potem IPrefs z sukcesem odczytuje plik, który wczesniej wg SnoopDos zostal usunięty przez IffChunkTool, więc albo operacja Delete wcześniej się nie powiodła, albo nieprawdą jest Open/Read wykonany przez IPrefs :/
[#34] Re: IFFChunkTool

@vojo, post #32

Ad. 1) na razie nie udało mi sie zreprodukować tego błędu, ale zastosuję trochę narzędzi i zobaczymy.

Ad. 2) jedyne sensowne wyjaśnienie jakie mi przychodzi do głowy, to że system ma jakąś notyfikację na ten plik i odtworzył go po skasowaniu, a przed zmianą nazwy. Ułamek sekundy, no ale mamy multitasaking . Modyfikowanie "na żywca" plików z ENV:Sys może nie jest najlepszym pomysłem.

Ad. 3) zrobienie pliku tymczasowego w T: spowoduje, że trzeba będzie go skopiować zamiast po prostu zmienić nazwę. Więcej roboty i trochę mi się nie chce. Bo to kolejne ileś potencjalnych błędów do obsłużenia.

Ad. 4) nie. IFFChunkTool w zamyśle nie jest narzędziem interaktywnym (jest do skryptów, ogólnie rzecz biorąc). Jeżeli potrzebna jest interaktywność, to dużo lepszym narzędziem wydaje się być IFFMaster16. Choć przyznam, że przetestowałem go jedynie pobieżnie.

Ostatnia aktualizacja: 27.07.2025 09:56:50 przez Krashan
[#35] Re: IFFChunkTool

@Krashan, post #34

Ad. 2) jedyne sensowne wyjaśnienie jakie mi przychodzi do głowy, to że system ma jakąś notyfikację na ten plik i odtworzył go po skasowaniu, a przed zmianą nazwy. Ułamek sekundy, no ale mamy multitasaking . Modyfikowanie "na żywca" plików z ENV:Sys może nie jest najlepszym pomysłem.

IPrefs ma notyfikacje na pliki z ENV:Sys (i pewnie też z ENVARC:Sys). Być może trzeba je zapisywać podobnie jak robią to programy preferencji. Kasowanie tych plików chyba jest niedozwolone.
[#36] Re: IFFChunkTool

@Krashan, post #34

Ad 2 - no możliwe ze system się tu wtrącił, w takim razie do zapomnienia
Ad 3 - punkt 3 jest pochodną 2, więc również do zapomnienia. Poza tym z "nie chce mi się" nie ma co dyskutować, aż za dobrze to rozumiem ten argument
Ad 4 - ok, rozumiem, dzięki za wyjaśnienie.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem