Problemer med splash screen ....

Tags:    visual-basic

ca hver 5 gang jeg køre mit splash screen låser den og det er ikke første gang jeg oplever det i vb ....

kildekode :

Dim Tid As Byte
Form2.Show
Tid = Second(Time)
Load frmMain

Do Until Tid < Second(Time) - 4
DoEvents
Loop

Unload Form2
frmMain.Show


Nogle der kan hjælpe eller har en forklaring



3 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Det er lang tid siden jeg har brugt VB, så det er lidt et gæt:

Hvis kl. er 18:07:59 tror jeg second(time) vil returnere 59, du trækker så 4 fra så det højeste der bliver sammenlignet med din variablen er 55. Hvilket gør at programmet fryser hvis kl. var noget 55-59 sekunder.

MvH

Stefan Svensson
http://www.remote-unlock.dk



Ja, jeg ville også sige du havde nogle problemer med tiden. Her er noget der kan hjælpe:

Fold kodeboks ind/udKode 


Foresten skal du have ros for at definere tid som en byte. Der er alt for mange som bare ville definere den som integer og bruge meget mere hukommelse end nødvendigt!

// Your brain is your weapon, do not waste it!!




Et af de muntre tweaks i VB er DoEvents.

Det er en resource sluger der rykker. Selvom navnet antyder at man frigiver styresystemet er det faktisk ikke korrekt. Der bruges faktisk mange ressourcer da der for hver gang der loop'es skal sendes et kald til DoEvents. Dette betyder at din form er always on.

Ved at bruge DoEvents er man faktisk tilbage i QB dage da programmerne var kodestyret og ikke eventstyret.

Jeg vil foreslå dig at bruge en timerkontrol i stedet samt sætte din splash forms .keypreview til true. Du kan så i et .keypress og et .mousedown lukke din splash.

Fold kodeboks ind/udKode 






t