Máte zapnuto v kompilátoru Option Strict (nebo jste to napsal nahoru do souboru, ve kterém se problém vyskytuje). Jak již psal kolega Linhart, přiřadíte nějaký objekt do proměnné typu Object (anebo na nějakého předka dané třídy, pokud používáte dědičnost) a pak napíšete proměnná.vlastnost, kde vlastnost je sice vlastnost, kterou přiřazený objekt mít pravděpodobně bude, ale kompilátor to neví a proto vyhodí chybu, pokud je zapnuto Option Strict. Nejjednodušší je použít CType a přetypovat objekt na to, co v něm má být:
Dim a As Object = New FileInfo("C:\WINDOWS\notepad.exe")
'tohle je Late Binding, používáte vlastnost Length, kterou ale datový typ Object nemá
velikost = a.Length
'takhle je to lepší, nejdříve převedete a na typ FileInfo a pak zjistíte velikost souboru (pokud se převod nepodaří, vyhodí to chybu, ale to platilo i u předchozího řádku)
velikost = CType(a, FileInfo).Length
|