Načtení XML dokumentu v PocketPC - Windows mobile   otázka

VB.NET, XML

Dobrý den může mi někdo vysvětlit proč kód který šlape v klasické aplikaci s formuláři Windows

nefunguje pro Windows media - smartphone

Hlava mi to nebere, soubor "Names_Czech.xml" je přidán

jak do projektu WIN a úplně stejně je to v projektu WM6

 Sub OpenXML()

        On Error GoTo ErrLine

        Dim doc As New XmlDocument()
        'načíst XML soubor
        doc.Load("Names_Czech.xml")

        Exit Sub
ErrLine:
        ErrMsg(Err.Number, Err.Description, "OpenXML")
        Err.Clear()

    End Sub

Systém vypíše tyto chyby ( + moje DEBUG MSG)

'A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll
'A first chance exception of type 'System.IO.FileNotFoundException' occurred in System.Xml.dll
'1/31/09 9:58:53 PM Objekt "OpenXML" Chyba: 53 Could not find file '\Names_Czech.xml'.

Používám Visual studio 2008

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Používáte naprosto příšerný způsob ošetřování vyjímek z VB6, nedělejte to. Chyba je jasná už na první pohled - soubor \Names_Czech.xml nebyl nalezen. Bohužel nevím jak je to s cestami v systému Windows Mobile, jestli tam vůbec existují nějaké absolutní a relativní cesty a jestli je tam vůbec nějaké písmeno jednotky, nikdy jsem to nezkoušel.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Písmena jednotek tam nejsou, dají se používat absolutní i relativní cesty. Absolutní začínají jedním zpětným lomítkem, relativní jsou normální.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Někde na tomto webu jsem nakonec našel Váš příklad (Tomáše Herzega) jak získat tzv. Aplikace.Path

a na základě toho jsem zbastlil funkci která funguje k mé spokojenosti. Jasně OPĚT není TRY ale ON ERROR :-/

    Private Function GetXMLFullPath(ByVal XMLDoc As String) As String

        'Imports System.IO
        'Imports System.Reflection
        '...

        On Error GoTo ErrLine
        Dim currentDirectory As String = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase)
        Dim XMLDirectory As String = Path.Combine(currentDirectory, XMLDoc)

        Return XMLDirectory

        Exit Function
ErrLine:
        ErrMsg(Err.Number, Err.Description, "GetXMLFullPath")
        Err.Clear()

    End Function

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nooo jsem lama

přechod z VB6 na VS 200x je drsný

Byl bych šťastný za seriál na téma vyjímky A-Z

tak aby byl projekt čistý, a nevyskakovalo by tak nějaké

'A first chance exception of type ...

Různě se píše o "vrstvách" ... což "tuším o co by mohlo jít"

Co je po Try Catch Finally

už nemusí být nic? Proč ten hnusný Debug

Prosím znalé o popis pro laiky

Děkuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback