[elektro] File kommunikáció programok között

Orbán Árpád orbana at orbel.hu
Fri Jun 10 13:06:11 CEST 2016


Szia!

TFileStream objektumnál megadható a "share mode".
Ezen el tudsz indulni:

<https://helloacm.com/file-opening-mode-for-tfilestream-in-delphi/>

Lazarusban is így működik.

Ha a "csak olvasó" programra nem megfelelő módban nyitja meg olvasásra, 
akkor ez nem fog működni.
Azt hogy kezeled le, hogy a fájl tartalmát néha törölni is kellene?
Tudnod kell, hogy mikor törölheted a fájl tartalmát, magyarul ha a másik 
program már elvitte az utolsónak beírt adatot is. Ezt hogyan detektálod?
Vagy az lehetséges, hogy a fájl örökké csak növekszik? Ebben az esetben 
performancia problémák lehetnek nagyobb fájlméretnél.

Ha mindkét oldal a te kezedben van, szerencsésebb volna (ahogy mások is 
írták) adatbázis szerveren keresztül megoldani az adatcserét. Javaslom a 
Firebird SQL szervert, tud tranzakciókezelést, és Delphi/Lazarus vonalon 
jól támogatott.

Árpi

2016.06.10. 11:16 keltezéssel, hozso_001 at freemail.hu írta:
>   Sziasztok!
>
>
>    Van egy feladatom, ahol egy fájlt kell írnom, amit aztán egy másik
> program értékel ki. Windows 7, Delphi (Lazarus), ASCII (text - csv
> file). Kérdésem: hogyan, milyen elven történik ilyenkor a fájl
> frissítése? Mármint: ha a másik program megnyitja a fájlt olvasásra,
> akkor én tudom-e közben törölni, újraírni a fájlt? Vagy úgy kell a
> folyamatokat időzíteni, hogy ez a két feladat ne zavarja egymást? (Tehát
> ha pl. nem tudok írni a fájlba, mert épp meg van nyitva, akkor próbáljam
> később írni, amikor már bezárták? Vagy ha ő csak olvasásra nyitja meg,
> akkor én írhatom bármikor gond nélkül?)
>
>
>    Üdv.: Horváth Zsolt
>
> -----------------------------------------
>           elektro[-flame|-etc]
>



More information about the Elektro mailing list