Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Jaroslav Kováč:24.5.2017 20:09

Dobrý den,
poradíte mi prosím?

V práci máme aplikaci monitorující speciální zařízení a výsledky zapisuje do logu (txt souboru). Vytvořil jsem si prográmek ve VB, který mi z logu vypíše nejdůležitější věci. Jenže...

Aplikace si moc nenechá na log šáhnout. Otevřít v notepadu jde normálně, ale při pokusu kopírovat nebo otevřít soubor v něčem jiném hodí aplikace chybu Runtime 70 a spadne.

Pokoušel jsem log načíst pomocí StreamReader, ale to nešlo. Jediné s čím se mi podařilo soubor načíst bez pádu aplikace je

My.Computer.FileSystem.ReadAllText(cestaSouboru)

.
Potřeboval bych, ale data po určité době aktualizovat a pokud použiji timer a v něm opět

My.Computer.FileSystem.ReadAllText(cestaSouboru)

, tak už aplikace zase hodí chybu.

Netušil by někdo co upravit, nebo jak soubor načíst?

 
Odpovědět
24.5.2017 20:09
Avatar
Odpovídá na Jaroslav Kováč
Michal Štěpánek:25.5.2017 15:37

A co třeba ta data načíst tím

My.Computer.FileSystem.ReadAllText(cestaSouboru)

a uložit si je do nějakého jiného souboru. Pak už bys s tím mohl pracovat podle potřeb...

Nahoru Odpovědět
25.5.2017 15:37
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
HONZ4
Člen
Avatar
HONZ4:25.5.2017 20:31

Problém je nejspíš v tom, že dojde ke kolizi čtení a zápisu na jednou. Toho ošetřit bude problém.
Ale pokud aplikace, která zapisuje do souboru a nezapisuje do něj moc často, bylo by lepší místo timeru použít FileSystemWatcher a monitorovat jím potřebný soubor a při zjištění změny soubor znovu načíst. Jistotu, že nedojde ke kolizi mít asi nikdy nebudeš.

 
Nahoru Odpovědět
25.5.2017 20:31
Avatar
Odpovídá na HONZ4
Jaroslav Kováč:26.5.2017 15:38

Ty jo to má hlavu a jsem v*l, že mě to nenapadlo. Zkusím to, ale jak píšeš, to zřejmě nevychytám. Budu na to muset jinak.

 
Nahoru Odpovědět
26.5.2017 15:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.