Jak zablokowac dostep do aktualnie przetwarzanego pliku? cos na styl komendy flock z PHP.
Mam taki fragment kodu:
AssignFile(f, 'd:\po.dat');
FileMode := fmOpenWrite;
Reset(f);
I robie taki manewr, dalej nastepuje specialnie spowolniona procedura zapisu (1000 po 4 bajty). Odpalam 2x program i w trakcie gdy jeden zapisuje robie to samo drugim i co ciekawe nie ma zadnego bledu ani nic.
Dla analogicznej sytuacji w PHP ten drugi czekal by tak dlugo az pierwszy nie zamknie pliku, jak tutaj osiagnac taki cel? tzn. jak sprawdzic czy plik nie jest otwarty przez inna aplikacje? (pozniej majac taka informacje to juz dany watek moze czekac na dostep odpowiedni czas). Ew. co robie nie tak ustawianiu FileMode? gdyz przy takiej wrtosci jaka podalem powinienem osiagnac to co chcialem jednak tak nie jest.
Co jeszcze ciekawe, po akonczeniu dzialania obu instancji programu plik wynikowy wyglada tak jakby tylko jeden program dzialal.