Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Vilka forms är laddade? LÖST

Postades av 2002-08-05 14:36:23 - Anna-Karin Söderberg, i forum visual basic - allmänt, Tråden har 17 Kommentarer och lästs av 805 personer

Hej

Jag har problem med min applikation, när folk stänger av den så hänger den sig, jag har kommit fram till att det är när Form_QueryUnload körs och där kör jag unload på alla forms, om en inte form finns så kraschar programmet.

Finns det något bra sätt att bara ladda ur de forms som har blivit laddade?

Anna-Karin


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 15:02:03 - Andreas Hillqvist

Pice of cake. Använd Instället:
<code>
Dim frmForm As Form
For Each frmForm In Forms
Unload frmForm
Next

</code>
Ska fungera klockrent.


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 17:18:18 - Sven Åke Persson

Hej
On Error Resume Next
Hade också funkat,men Andreas förslag är nog det mest korrekta.

mvh
Sven


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 17:50:32 - Anna-Karin Söderberg

Tyvärr, ingen av varianterna funkar, programmet tvärhänger sig.

Det här problemet verkar existera hos alla som har testkört den.

Anna-Karin


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 17:53:02 - Andreas Hillqvist

Då är det något i din kod som ställer till det.


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 17:58:35 - Ulf Elfving

Hur ser din kod ut i queryUnload?

vad hände om du stoppar in enbart ett

<code>
End
</code>

där istället?


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 18:59:53 - Anna-Karin Söderberg

Nu gjorde jag så här:
Private Sub Form_Unload(Cancel As Integer)
checkRegister.UnloadForms
End Sub

I checkregister så har jag gjort så här:

Sub UnloadForms()
On Error Resume Next
Dim frmForm As Form
For Each frmForm In Forms
Unload frmForm
Next
End Sub

Alla formsen pekar på den här rutinen.

Jag testade att bara skriva End och det funkar, men är det rätt sätt, om det nu finns något sånt?

Anna-Karin.


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 19:15:39 - Sven Åke Persson

Hej
Enl expertern så skall man i varje forms Unload

Ha ex. Set Form1 = Nothing

så mitt förslag blir

End 'följt av
Set Form1 = Nothing 'osv i alla formar

DS


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 19:57:50 - Eventine Elessendil

Hmm ... En liten fundering bara: Du skrev att alla forms pekade på din UnloadForm-procedur? Kan det inte vara att när man stänger ett, så stänger det nästa, som innan det kan bli "stängt" pekar på proceduren som stänger alla forms, som vill stänga det första, som redan håller på att stänga o s v ...? Jag kan ha fel, det är bara en tanke som jag överlåter åt andra att verifiera.
/EE


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 19:59:37 - Andreas Hillqvist

Har du något MDI formulär?

Vad har du mer för kod i QueryUnload och Unload?

Om du adresserar ett formulär eller kontrol från något av Unload eventen, komer det att ladda formuläret.

Annars kan unload koden ställa till problem. Om den försöker lada ur sig själv från unload eventet. Kan skapa en evighets loop.

Du bör bara placera anropet i ditt huvudformulär. Inte i dina andra formulär. Kanske det som ställer till det.


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 20:52:10 - Anna-Karin Söderberg

Jag har inga MDI formulär alls.
Det enda som finns i Unload är, har testat QueryUnload och Terminate, med samma resultat.

Private Sub Form_Unload(Cancel As Integer)
Shell_NotifyIcon NIM_DELETE, nid ' tar bort min ikon från systray.
checkRegister.UnloadForms
End Sub

Ett problem är ju att man kan stänga från alla formulär som finns, man är inte tvungen att gå tillbaka till startformuläret för att stänga.

Anna-Karin, tragglar vidare.




Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-05 21:38:49 - Andreas Hillqvist

Du kan ju testa:

<code>
Option Explicit

Private Busy As Boolean

Sub UnloadForms()
Dim frmForm As Form
If Busy Then
Else
Busy = True
For Each frmForm In Forms
Unload frmForm
Next
Busy = False
End If
End Sub
</code>


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-07 11:53:33 - Anna-Karin Söderberg

Hej

Jag blir snart tokig, den koden fungerade inte den heller, programmet tokhänger sig, det enda som har funkat är att skriva End när jag stänger programmet.

Anna-Karin, sliter sitt hår.


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-07 12:25:50 - Sven Åke Persson

Hej<br>
Testa Andreas kod med både hängsle och livrem
<code>

Option Explicit

Private Busy As Boolean

Sub UnloadForms()
Dim frmForm As Form
On Error Resume Next
If Busy Then
Else
Busy = True
For Each frmForm In Forms
Unload frmForm
Set frmForm = Nothing
Next
Busy = False
End If
End
End Sub

</code>
Sven




Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-07 14:48:22 - Andreas Hillqvist

Kontrollera om det är i UnloadForms() den låser sig:
<code>
Option Explicit

Private Busy As Boolean

Sub UnloadForms()
Dim Count As Long
Dim frmForm As Form
If Busy Then
Else
Busy = True
For Each frmForm In Forms
Count = Count + 1
Debug.Print Count & ": " & frmForm.Name;
Unload frmForm
Debug.Print " OK!"
If Count > 100 Then
MsgBox "Över ger unload och kör End!"
End
End If
Next
Busy = False
End If
End Sub
</code>


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-07 15:48:00 - Anna-Karin Söderberg

Tydligen är det så att den anropar unload på alla forms, skumt, men nu fungerar det, det fanns en Unload Me på ett formulär då kraschade rubbet.

Anna-Karin


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-07 16:21:13 - Sven Åke Persson

Whoooo !

Analyser mera och berätta exakt vad du kom fram till
Vilket av förslagen använder du.

Kontiniuitet gäller

mvh
Sven
Ps lägg ett kol på Allmännbildningen jag vill se dig på top 10
DS


Svara

Sv: Vilka forms är laddade?

Postades av 2002-08-07 16:50:51 - Anna-Karin Söderberg

En liten analys.
Jag = newbee, nyfiken, envis. Vet inte alltid bästa sättet att koda.

Jo felet var detta, att jag i ett form hade lagt Unload Me och då när jag sedan anropade min modul så kraschade det eftersom det körde unload me först, gick sen tillbaka och försökte att fortsätta stänga forms, vilket inte gick eftersom det nyss stängt sig själv.

Efter att ha lagt samma kod på alla ställen där man kan stänga så funkar det klockrent, jag ska skriva rent Andreas H's kod och använda den, men utan print grejerna då.

Anna-karin, tragglar vidare med vb.
ps
Ska försöka spotta upp mig, har ju bidragit med många frågor och de borde jag väl kunna svaren på.
ds.


Svara

Nyligen

  • 20:22 Spel
  • 17:07 Snabb och trevlig webbplats utan l
  • 17:00 Bra spelsajt med bonusar
  • 15:51 Slappna av
  • 15:17 Onlineunderhållning på fritiden
  • 11:13 Online Kasino
  • 17:57 Vart är SEO på väg till 2030?
  • 14:24 CBD regelbundet?

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 665
27 955
271 721
601
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies