Datuve :: Forums :: Arhīvs :: VB.NET - Kods negaida f(x) return value

Datuve

Mana Datuve

Reģistrācija | Noteikumi | Paroles atjaunošana



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 80

Reģistrētie lietotāji online: 0

Viesi online: 80

Datuve.lv video
Top.LV

VB.NET - Kods negaida f(x) return value

Ievietoja: Tomy @ 2009.02.09 18:25  

Ir programma, kurā ir f(x), kura pēc norādītas URLas atgriež tās sourci. Šī te f(x) tiek iekļauta ciklā un te nu sākas problēmas, ka ciklam "strādājot" rodas dažādas kļūdas, jo kods negaida izsauktās f(x) return value un tikai bliež tālāk. Kā lai izdara, lai kods it kā "apstājas" kamēr nedabū tās f(x) atgriezto vērtību?

Komentāri:

#1 bombtrack @ 2009.02.09 18:34

Pēc tāda problēmas apraksta ir grūti kaut ko izspriest. Atkļūdot (debug) proti?
Ar debug palīdzību izpēti, kas tev tur tajā kodā īsti notiek.
"Rodas dažādas kļūdas" - te uzreiz prātā nāk, ka nepareizi tiek lietoti kaut kādi objekti jeb kaut kas netiek aizvērts / iztīrīts / resetots.

#2 Tomy @ 2009.02.09 18:43

Īsti nesapratu ko tu biji domājis ar to debug :)
Nu es saprotu, kas tajā f(x) notiek. Vispār ar tām dažādajām kļūdām es biju domājis sekas tam, ka netiek atgriezta tā vērtība, jo tur tālāk tās vērtības tiek izmantotas.

Ceru, ka bildīte kko izskaidros http://img231.imageshack.us/img231/7919/webyy4.jpg

#3 bombtrack @ 2009.02.09 19:07

Laba ilustrācija :D Varbūt tomēr iemetīsi linku uz pašu kodu?
Tātad par atkļūdošanu tev ir jāmācās:
http://en.wikipedia.org/wiki/Debug
http://www.cs.uvm.edu/~upe/resources/debugging/visualStudioCDebug/#bre…
http://dotnetperls.com/Content/Debugging-1.aspx

Tas ļaus izsekot katras koda komandas izpildei.

#4 Tomy @ 2009.02.09 19:48

Manas mākslas spējas :D
Ok, paldies par resursiem, palasīšu.

Kods -> http://www.failiem.lv/down.php?i=fvsxft&n=vb_code.vb

#5 Gurķis @ 2009.02.09 21:22

Man izskatās ka viss smuki darbojās! Varbūt ka kaut kur programmā izmanto threadingu un tas izpilda kodu paralēli?

#6 Tomy @ 2009.02.09 21:53

Gurķi, tur jau tas āķis, ka nē! Šitai f(x) būtu vienkārši jāpiešķir vērtība noteiktam mainīgajam for-next ciklā, bet tur tas viss kkā asinhroni notiek! Nesaprotu!

#7 bombtrack @ 2009.02.09 22:40

Apskatījos kodu...  HttpWebResponse objekts obligāti ir jāaizver ar Close(). Nepietiek tikai aizvērt Response Stream.

#8 Gurķis @ 2009.02.10 09:15

Tad varbūt gļuks slēpjās tur, ka exception gadījumā funkcija neatgriež vērtību!