Ten řádek Dim pocet As Integer = CInt(sr.ReadLine()) je pěkná prasárna a to, že funguje, je pouze souhra náhod. Pořadí, v němž se inicializují proměnné uvnitř třídy není definováno a nikde se nepíše, že to musí být popořadě. Vy přitom při definici hodnoty proměnné pocet používáte proměnnou sr, která ještě nemusí být zinicializována. Pokud deklarujete hodnoty mimo proceduru, inicializujte je pouze výrazy, které na ničem jiném nezávisí a které ideálně vrací konstantní hodnotu. Jde o to, že nevíte, kdy přesně se onen kód provede. V tomto případě tedy mimo metodu nechte pouze Dim pocet As Integer a v metodě s načítáním souboru dejte pocet = CInt(sr.ReadLine()) . Nevím, jestli tomu kódu rozumíte, ale článek, který odkazujete, počítá s tím, že na prvním řádku je v souboru uložen počet položek. Možná to ve své aplikaci nepotřebujete.
|