Witam.
Na swoim domowym serwerze założyłem ftp.
Dwa kolejne komputery mają korzystać z pliku zamieszczonego na tym właśnie serwerze.
Chciałem zrobić to bardzo prosto mianowicie:
- Podczas uruchamiania programu pobieram plik z serwera.
- W momencie zatwierdzenia jakichkolwiek zmian sprawdza czy plik na serwerze nie jest nowszy od tego, który pobrałem jeśli jest nowszy pobiera go i zmiany zachowuje w nim.
- Wysyła plik na serwer.
W sumie bardzo proste jednak powstaje mi problem w momencie gdy próbuję skasować ten plik
Np.:
procedure pobierz;
var
sciezka, plik: string;
begin
IdFTP1.connect();
if fileexists(plik)
then
begin
deletefile(sciezka + plik);
IdFTP1.Get(plik, sciezka + plik);
IdFTP1.Disconnect;
end
else
begin
IdFTP1.Get(plik, sciezka + plik);
IdFTP1.Disconnect;
end;
end;
Problem pojawia się podczas usunięcia pliku. System nie potrafi go usunąć ponieważ plik jest aktualnie używany przez mój program. Wszystko dałem w OnCreate formy głównej programu. Plik, z którego korzystam znajduje się na kolejnej formie jednak podczas ładowania programu jest on również ładowany...
Próbowałem już zwolnić formę z pamięci dająć po prostu
Form1.Free;
Jednak i to nie zdawało rezultatu.
Jak można zwolnić sam plik aby nie ładował go póki nie zostanie on pobrany z serwera.
Pozdrawiam