Jag skulle vilja ha en bild som är synlig i en sek, och att den sedan försvinner. Kan någon hjälpa mig med det skulle jag bli överlycklig. ->Timer1.Interval=1000 Hej jonas och ibbe mfl. Ja, Sven har helt rätt! Static kan vara bra i vissa lägen men är en liten fälla också. Om ni ska använda Static se till att använda det med datatypen Boolean för högsta prestanda dessutom. >>Vad innebär static ?? Hej igenBild som försvinner efter en stund
/JonasSv: Bild som försvinner efter en stund
<code>
Private Sub Timer1_Timer()
Static i As Integer
If i > 0 Then
Image1.Visible = False
Timer1.Enabled = False
End If
i = i + 1
End Sub
</code>
/IbbeSv: Bild som försvinner efter en stund
Så här tänkte jag
Option Explicit
Private Sub Timer1_Timer()
'Interval 1 sek = 1000 Image1.Visible = False
If Image1.Visible = True Then
Image1.Visible = False
Timer1.Enabled = False
Else
Image1.Visible = True
End If
End Sub
I princip skall Ni sluta med att använda Static.
mvh
SvenSv: Bild som försvinner efter en stund
Sv: Bild som försvinner efter en stund
<code>
Sub Testa ()
Dim Vanlig As Integer
Static Statisk As Integer
Vanlig=Vanlig+1
Statisk=Statisk+1
Debug.Print "Vanlig: " & CStr(Vanlig) & " Statisk:" & CStr(Statisk)
End Sub
Private Sub Form_Load()
Testa
Testa
Testa
Testa
Testa
End Sub
</code>
Kolla i Intermediate-fönstret så förstår du.
/Niklas JanssonSv: Bild som försvinner efter en stund
Static är Basic uppfinning som inte finns i andra moderna språk.
i .Net är den borttagen.
Normalt försvinner en variabel ur minnet om den deklareras
som tex. Dim i As Long direkt när Sub eller Function har kört färdigt.
Static i As Long däremot blir kvar och fungerar tillsynes som
en Global variabel. En Static variabel lägger avtryck på stacken
och raderas inte när du stänger din applikation.
Static är 3 ggr långsammare än en Global (Modul nivå) variabel.
Alltså om du tycker att det behövs en Static variabel så
deklarera den som Global (Modul nivå General i en Form).
Ungefär så, fritt ur minnet
Niklas exempel visar tydligt effekten.
mvh
Sven