Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Zaglavljivanje programa

[es] :: Visual Basic 6 :: Zaglavljivanje programa

[ Pregleda: 2333 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Shadowed
Vojvodina

Član broj: 649
Poruke: 12849



+4784 Profil

icon Zaglavljivanje programa19.10.2003. u 12:00 - pre 249 meseci
Malo nesrecan naslov al' ajd.

Sladeci (jednostavan) kod se malo cudno ponasa:
Code:

Dim a As String

Private Sub Command1_Click()
    Dim i As Long
    
    For i = 1 To 100000
        Text1.Text = i
        Text1.Refresh
        a = a & "XXXXXXXXXX"
    Next i
End Sub

Naime, kada kliknem na taster Text1 odbroji do 4191 i onda srane. Program ne odgovara. On ne odgovara ni tokom odbrojavanja ali bar odbrojava.

Zna li neko zasto se ovo desava?

Edit: Probao sam da kompajliram program i kada pokrenem .exe on nastavi da broji. Ono o cemu sam ranije pisao je bilo bez pravljenja .exe-a vec samo pokretanje sa Run (F5).
U cemu je razlika?
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.yubc.net

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: Zaglavljivanje programa19.10.2003. u 14:59 - pre 249 meseci
Meni je odbrojao do kraja, bez stajanja sa F5 - znaci ne EXE (trebalo je docekati da odbroji ;))

Ne znam sta podrazumevas pod "Program ne odgovara", ali probaj ovo

Code:

Private a As String

Private Sub Command1_Click()
Dim i As Long

    For i = 1 To 100000
        Text1.Text = i
        Text1.Refresh
        a = a & "XXXXXXXXXX"
        DoEvents
    Next i
End Sub

Private Sub Command2_Click()
Static c As Long
    c = c + 1
    Text2.Text = c
End Sub


i videces da kad imas DoEvents program reaguje na klik na Command2. Bez DoEvents ne reaguje (bar kod mene).
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12849



+4784 Profil

icon Re: Zaglavljivanje programa19.10.2003. u 15:11 - pre 249 meseci
Nasao sam delimicno u cemu je problem. Prestane da broji ako je pokrenut Task Mnanager i selektovan BAS VB6.exe. Znaci u trenutku kad ga selektujem u listi procesa onprestane da odbrojava. Mada i kad prestane da odbrojava nastavlja da vrti petlju, provereno.
Sad, zasto se to desava nemam pojma.
Jos se pitam zasto ne odbrojava istom brzinom vec sve sporije i sporije.
 
Odgovor na temu

Krsta
Krstić Dejan
Programer & Web Developer
Kruševac

Član broj: 2461
Poruke: 307
*.ptt.yu

Sajt: www.atec.rs


+15 Profil

icon Re: Zaglavljivanje programa19.10.2003. u 23:24 - pre 249 meseci
Pa to ti je zbog ovog a = a & "XXXXXXXXXX",
svaki put se promenjiva a duplira.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12849



+4784 Profil

icon Re: Zaglavljivanje programa19.10.2003. u 23:55 - pre 249 meseci
Ne duplira se. Uvecava se za "XXXXXXXXXX". Duplirala bi se kada bi bilo a = a & a.
 
Odgovor na temu

byTer

Član broj: 10936
Poruke: 1221
*.ptt.yu

ICQ: 47761626


Profil

icon Re: Zaglavljivanje programa20.10.2003. u 12:18 - pre 249 meseci
Verovatno ti je memorija prepuna. Ja sam nesto slicno pokusao ali ne moze da se unese vishe od 2 GB valjda...
 
Odgovor na temu

mladenovicz
Zeljko Mladenovic
Xoran Technologies, Inc., Ann Arbor, MI,
USA / Software Engineer
Ann Arbor, MI, USA

Član broj: 6598
Poruke: 2065
*.yubc.net

Jabber: mladenovicz@elitesecurity.org
ICQ: 95144142
Sajt: yubc.net/~mz


Profil

icon Re: Zaglavljivanje programa20.10.2003. u 12:55 - pre 249 meseci
Taj string te sigurno usporava. On bi na kraju trebalo da ima milion karaktera. Mi smo u firmi svojevremeno napravili jednu klasu LongText koja radi sa velikim stringovima. String se cuva kao niz bajtova a konkateniranje se radi sa CopyMem. I radi brze nego &.
 
Odgovor na temu

Krsta
Krstić Dejan
Programer & Web Developer
Kruševac

Član broj: 2461
Poruke: 307
*.ptt.yu

Sajt: www.atec.rs


+15 Profil

icon Re: Zaglavljivanje programa31.10.2003. u 20:14 - pre 249 meseci
Citat:
Shadowed:
Ne duplira se. Uvecava se za "XXXXXXXXXX". Duplirala bi se kada bi bilo a = a & a.


Pogresno sam se izrazio za dupliranje.
U svakom slucaju to ti sigurno usporava program.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12849



+4784 Profil

icon Re: Zaglavljivanje programa31.10.2003. u 20:58 - pre 249 meseci
Svakako da je taj string ono sto je usporavalo program jer niceg drugog nije ni bilo.
Ono sto je neobicno je to sto se brzina izvrsavanja sve vise i vise smanjivala - svaki prolazak kroz petlju je trajao duze iako se ovak dodaje string iste duzine. Verovatno se ispod haube nesto radi duz celog stringa pa svaki put ima vise posla.
No, ispostavilo se da program ne blokira vec samo prestaje da ispisuje u TextBox-u. S obzirom da ide sve sporije i sporije nikako nisam stizao do kraja sve dok nisam smanjio broj prolaza pa je trajalo krace.
 
Odgovor na temu

[es] :: Visual Basic 6 :: Zaglavljivanje programa

[ Pregleda: 2333 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.