Hej Kan du detaljera problembeskrivningen? Jag gjorde en snabb test och det fungerade utmärkt. Hej Tja CO Hej Som sagt, jag har gjort precis som du sade och det fungerar fint. Vad gör du inne i subrutinen ? Ska försöka beskriva det jag lärt mig om DoEvents: Hej Hmmm.... intressant Andreas.DoEvents och Modal Form
Kan någon skingra mörkret för mig?
Först..DoEvents
Vad gör den exakt?
Hur ska den användas rätt?
Hur lång livscykel har den?
Nackdelar???
Sen...
Jag har en formA som kallar på formB med vbModal.
I formB har jag anrop till subbar och funtioner i formA.
Men se... det går tydligen inte. VB protesterar.
(någonting om "modalt anropad form kan inte anropa tillbaka")
Vet någon hur man kan lösa detta elände?
Tack på förhand.
/WSv: DoEvents och Modal Form
/COSv: DoEvents och Modal Form
DoEvents
Använder man när man vill att användaren skall kunna
avbryta ett förlopp och komma in med tex musklick
tangenttryckning.Tex om jag har en loop och vill att jag
skall kunna komma in med tangenttryckning får man och
bör man alltid skriva så här.
Do
.........kod
.........
DoEvents
Loop
I varje loop kommer nu processen att lyssna "Har det vatt nått"
DoEvents varar tills du lämnar den Lokala Suben eller Funktionen.
Modal Form tex MsgBox kommer man inte ur med mindre än
att trycka Avbryt Ja Nej Ok också vidare.
ungefär så
SvenSv: DoEvents och Modal Form
Så här:
formA anropar formB med: fomB.Show vbModal
funkar som det ska
I formB finns ett anrop till en public sub i formA
då säger VB: Run-time error 5 Invalid procedure call or argument.
Plockar jag bort vbModal när jag anropar formB.Show så
funkar allt perfekt. Men jag vill att formB ska "vara överst" och
inte gå att gömma bakom formA.
Hoppas du fattar. Jag vet inte hur jag ska uttrycka det tydligare.
Sven
Betyder inte DoEvents att raden ovanför måste vara klar innan
programmet rusar vidare till raden efter DoEvents?
Så har jag lärt mig av en kompis.
/WSv: DoEvents och Modal Form
Njaaaaaaaaaa , Det tål att tänkas på, Jag skulle svara så här
"Bryt det du håller på med och kolla om någon annan vill ha ordet."
DoEvents man hör på engelskan att dom menar "Kolla Händelser"
och utför det som yttre processer önskar."Kolla vad som står i kö"
DsSv: DoEvents och Modal Form
/COSv: DoEvents och Modal Form
Denna rutin gör inget annat än att spara strängvärden i en txt-fil, inget alls avancerat som kan krångla till det.
Jag har själv vridit och vänt på detta i en vecka nu. Jag förstår inte vad som gör detta. Säkert ett litet "True" elle "False" någonstans.
/W
(suck.....börjar kanske med QBasic igen)Sv: DoEvents och Modal Form
I windows så finns det fönster. Även kontroller som knappar och textrutor är fönstera. Windows skickar meddelande till dessa när t.ex användaren klickar eller skriver på tangentbordet. Om din kod körs lägs dessa meddelande i fönstrets kö.
Vad DoEvents gör är att den låter fönstrena behandla meddelande i dess köer i din applikation. Vilket gör att koden i t.ex en cancel knapp görs.
Deta tror jag är den tekniskt sätt mest korrekta beskrivningen. Vet inte om någon förstår sig på den.
Har för mig oxå att DoEvents retunerar antalet meddelande som utförts.Sv: DoEvents och Modal Form
>Har för mig oxå att DoEvents retunerar antalet meddelande som utförts.
Ja då använder du funktionen DoEvents
Dim ret As Long
ret = DoEvents
DSSv: DoEvents och Modal Form
Min undran kommer sig av att mitt program uppför sig lite nyckfullt och oregelbundet om jag använder DoEvents. Jag misstänker att detta kommando belastar minnet negativt.
Du Sven, då kan man använda DoEvents som någon form av kvitto på att kommando är utfört????? (bara en spontan tanke)
Har någon ett bra boktips på lite mer avancerad VB-prog?
(jag börjar bli mogen för det)
/W