Datuve :: Forums :: Arhīvs :: VB.NET - f(x) izsaucot pašai sevi tā neatgriež vērtību

Datuve

Mana Datuve

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



Forums

Ieskaties


Raksti

Lietotāji online

Lietotāji online: 111

Reģistrētie lietotāji online: 0

Viesi online: 111

Datuve.lv video
Top.LV

VB.NET - f(x) izsaucot pašai sevi tā neatgriež vērtību

Ievietoja: Tomy @ 2009.01.28 12:57  

Respektīvi problēma ir tāda - taisu programmu, kura seko līdzi HTTP header'iem. Ja header'os nav "location" tad f(x) otrreiz netiek izsaukta un viss izpildās normāli, bet tikko parādās "location" tad f(x) ieiet nedaudz dziļāk, izdara pāris darbības un izsauc sevi vēlreiz (seko līdzi header'iem) taču šoreiz neko neatgriež. Kur varētu būt problēma?

Fails: http://yy.lv/download.php?f=18505

Komentāri:

#1 bombtrack @ 2009.01.28 14:12

Varbūt pamēģini aizvērt socketu, pirms rekursīvi izsauc to pašu funkciju. Jo sanāk, ka katrā izsaukumā tā veido jaunus socket objektus, bet iepriekšējo aizvēršana nenotiek garantēti.
Ko tu domāji ar "neko neatgriež"? Cik redzu, funkcijā nemaz nav return operatora.
Socketu vietā iesaku izmantot HttpWebRequest un HttpWebResponse objektus.

#2 Tomy @ 2009.01.28 15:25

Ā, nu skaidrs. Jā man jau likās, ka vajadzēja izmantot return, bet kkā samuhļīju bez :D

O, paldies par tiem abiem objektiem! Tie pat aiztaupa header'u sekošanas pūles, jo tie seko tiem automātiski, turklāt darbs ar kūkijiem arī vairs nav tāds īlēns dubenā, nice! :)