» »

[Visual Basic] Aplikacija deluje nepopolno

[Visual Basic] Aplikacija deluje nepopolno

mk0388 ::

Pozdravljeni!

Naredil sem aplikacijo v programu Visual Studio 2013 v programskem jeziku Visual Basic. Vse skupaj teče na operacijskem sistemu WIN8.1 x64. Aplikacija mi deluje brez problema kakorkoli jo zaženem (V programu VS2013 ali .exe). Problem se pojavi ko aplikacijo hočem zagnati na OS WIN7 x64 ali na katerem koli drugem Pc-ju. Aplikacija se odpre, vidno so vsi elementi vendar ne deluje v popolnosti. Imam gumb, ki bi moral izvesti klik na določeni spletni strani, vendar ga ne izvede. Kot da ga aplikacija ne vidi. Na ostalih PC-jim imam Net.Framework 4.5. Spodaj sem prilepil del kode. Torej vprašanje je zakaj dela .exe mojem PC-ju, če pa aplikacijo dam na PC2 pa ta del kode ne deluje?

Dim sOld_Href As String = Form1.WebBrowser.Url.ToString()

        For iHref = 1 To Form1.WebBrowser.Document.Links.Count - 1
            If Form1.WebBrowser.Document.Links(iHref).InnerText = " Next " Then
                Form1.WebBrowser.Navigate(New Uri(Form1.WebBrowser.Document.Links(iHref).GetAttribute("href")))
            End If
        Next



Lep pozdrav

black ice ::

Si releasal aplikacijo? Možno, da manjkajo kakšni deli, če si samo skopiral .exe.

mk0388 ::

black ice je izjavil:

Si releasal aplikacijo? Možno, da manjkajo kakšni deli, če si samo skopiral .exe.


Tako je. App sem dal v release in nato mapo release prenesel na drug PC? Ali delam tukaj kaj narobe? Prav tako sem ustvaril setup.exe in sem dobil enako zgodbo.

borut_p ::

kako si pripravil .exe datoteko - s katerim programom (jaz delam z inno setup).

V kolikor imaš v \bin\release kakršnekoli .dll datoteke, kih moraš v setupu tudi vključiti

LP

mk0388 ::

borut_p je izjavil:

kako si pripravil .exe datoteko - s katerim programom (jaz delam z inno setup).

V kolikor imaš v \bin\release kakršnekoli .dll datoteke, kih moraš v setupu tudi vključiti

LP


Program s katerim sem pripravil .exe je Install Shield 2013 Limited Edition (to kar obstaja v VS 2013).

borut_p ::

se spomnim da sem imel tudi sam težave z install shieldom - nikakor mi ni uspelo.

preveri, ali imaš v navedenem direktoriju kakšne .dll datoteke - instal shield se mi zdi da jih ne vključi

mk0388 ::

Sem našel problem.

Kot je prikazano v kodi v moji prvi objavi iščem določen "iHref" z imenom " Next ". V aplikaciji sem naredil "richtextbox", da sem videl kaj mi ta del programa vrne oz. najde. Prišel sem do zaključka, da na mojem PC mi najde;

 If Form1.WebBrowser.Document.Links(iHref).InnerText = " Next " Then


na PC2;

 If Form1.WebBrowser.Document.Links(iHref).InnerText = "Next " Then


Ko sem program spremenil, je začelo delati na PC2 na mojemu pa ne. Očitno so presledki zelo pomembni kar je dejstvo v programiranju! Tukaj se pojavita vprašanja:

Zakaj pride pri branju HTML kode do te razlike?
Ali je kakšen drug način branja določene povezave v HTML?

Lep pozdrav

Zgodovina sprememb…

  • spremenil: mk0388 ()

win64 ::

Najbrž imaš drugo verzijo Internet explorer-ja(WebBrowser uporablja IE).
S funckcijo Trim se znebiš praznih znakov spredaj in zadaj.

Še nasvet, da ti bo malo hitreje delal program:
Dim link
For iHref = 1 To Form1.WebBrowser.Document.Links.Count - 1
            link = Form1.WebBrowser.Document.Links(iHref) ' enkrat pridobiš element iz seznama
            If LCase(Trim(link.InnerText)) = "next" Then
                Form1.WebBrowser.Navigate(New Uri(link.GetAttribute("href")))
            End If
        Next

Zgodovina sprememb…

  • spremenil: win64 ()

mk0388 ::

win64 je izjavil:

Najbrž imaš drugo verzijo Internet explorer-ja(WebBrowser uporablja IE).
S funckcijo Trim se znebiš praznih znakov spredaj in zadaj.

Še nasvet, da ti bo malo hitreje delal program:

Dim link
For iHref = 1 To Form1.WebBrowser.Document.Links.Count - 1
link = Form1.WebBrowser.Document.Links(iHref) ' enkrat pridobiš element iz seznama
If LCase(Trim(link.InnerText)) = "next" Then
Form1.WebBrowser.Navigate(New Uri(link.GetAttribute("href")))
End If
Next


Hvala!

bajsibajsi ::

Pred leti je imel Visual studio tudi opcijo nastavitve (pisem na pamet) za CPU bitno tehnologijo, na kateri nas bi se izvrsevala koda. Pri novejsih verzijah, mislim da od VS2010 dalje je samo opcija ON/OFF. Mogoce bi se splacalo se s tem poigrati.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Web crawler

Oddelek: Programiranje
71456 (589) b3D_950
»

C# povezava forma in classa

Oddelek: Programiranje
172356 (1819) Miko55
»

vb.net: dynamic textbox

Oddelek: Programiranje
51186 (1076) saule
»

visual basic 2008 express edition

Oddelek: Programiranje
221822 (1249) sel
»

VB.net MDI in formi splošno

Oddelek: Programiranje
91621 (1564) strel

Več podobnih tem