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


Hur fånga en avstängning.

Postades av 2001-09-25 22:42:00 - Stefan Larsson, i forum operativ/teknik, Tråden har 13 Kommentarer och lästs av 984 personer

Hej.

När jag stänger min applikation så är det sista som ska ske att en backup startas. Denna backup startas då automatiskt och den får inte avbrytas.
Om jag nu har en commandbutton som jag trycker på kan jag precis innan backupen starta ett sista formulär som talar om att backup pågår.
Om jag istället använder mig av terminate eventet på formuläret så hänger sig applikationen när jag slänger ut bilden och backupen startar inte.
Hur ska jag kunna döda termineringseventet så att jag kan lägga ut bilden eller hur skall jag göra för att lägga ut bilden när terminering är begärd.
Krångligt? Då ska ni se mina tester.:)

/Stefan


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-09-26 09:50:00 - Andreas Hillqvist

Du kan ju lägga till en timer som är disabled och enabla den i unload:

Option Explicit

Private Sub Form_Unload(Cancel As Integer)
Timer1.Interval = 1
Timer1.Enabled = True
End Sub

Private Sub Timer1_Timer()
MsgBox "Formuläret är stängt!"
End Sub


Finns ett smidigt sätt att få ett Application_Terminate. Kanske inte löser ditt problem. Eller så gör det de:

'Skapa ett nytt projekt
'Ändra Startup Objekt till Sub Main i projektegenskaperna
'Lägg till en modul
'Klistra in följande kod:
Option Explicit

Private mApplication As clsApplication

Public Sub Main()
Set mApplication = New clsApplication
Form1.Show
End Sub

'Lägg till en klass
'Döp om den till clsApplication
'Klistra in följande kod:
Option Explicit

Private Sub Class_Terminate()
Msgbox "Applikationen har avslutats!"
End Sub


Vad öär det din kod gör i unlaod eventet. Eller rättade sagt förklara lite mer vad den ska göra...


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-09-26 10:17:00 - Stefan Larsson

Applikationen uppdaterar en accessdatabas. När användaren stänger av programmet skall databasen backupas. Jag litar inte på att användaren backar upp sin dator själv. Så därför måste jag göra det automatisk. Det enda tillfället jag har är när han stänger sin applikation.

Så här gör jag:

CMD_Avsluta
flasha en bild.
kopiera databas
stäng bilden
unload

form1_Terminate
CMD_Avsluta

Bilden hänger sig och applikationen stannar när man trycker på X:et. trycker man CMD_Avsluta knappen funkar det.

En timer funkar inte.




Svara

Sv: Hur fånga en avstängning.

Postades av 2001-09-26 13:10:00 - Andreas Hillqvist

Hur accessar du databasen? Datakontrollen och databindning, Data enviroment databindningar eller via DAO eller ADO objekten?

Hur visar du bilden? Ett eget formulär eller en picturebox?

Testade du med en klass?


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-09-26 17:57:00 - Stefan Larsson

Bilden visas med
frmBackup.Show vbModal
alltså eget formulär. när detta formulär startas kopierar jag databasen. Därefter unloadar jag allt och programmet avbryts.

Databasen är inte problemet, den är stängd och jag kopierar med FileCopy commandot.

Har inte testat klass ännu.

/Stefan


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-09-26 19:28:00 - Andreas Hillqvist

*Ler* Du vet väl om att "frmBackup.Show vbModal" inte fortsätter förän formuläret är stängt. Testa istället:
<code>
frmBackup.Show
frmBackup.Refresh

Backup

Unload frmBackup
</code>


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-09-26 20:09:00 - Stefan Larsson

*ler* också.
Det är ja mycket väl medveten om och det är inte det som är problemet. Formuläret startar inte ens när terminate eventet har triggats, det visas på skärmen och hela processen stannar.


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-09-26 21:56:00 - Andreas Hillqvist

Så du visar formuläret med "frmBackup.Show vbModal" vart ligger backupkoden? Ligger den efter "frmBackup.Show vbModal" kommer ju inget hända. Eller ligger den i "Form_Load" i "frmBackup"? Gur stänger du formulären?


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-10-04 12:19:00 - Stefan Larsson

*lsih*

Jag fann lösningen via en annan fråga här.

I form_queryunload eventet sätter jag cancel till false.

/Stefan


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-10-04 14:26:00 - Mikael Wedham

Lägg backup kommandot i Query_unload istället...

/micke


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-10-04 15:06:00 - Stefan Larsson

Det kan iof sig göra. Men jag vill tala om för användaren att databasen packas och säkras. Ser han ingenting, kan han mycket väl stänga av datorn och då blir backupen paj.

/Stefan


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-10-04 16:08:00 - Mikael Wedham

MEn om kommandot ligger i query unload kan su ha en timad splashscreen som berättar att programmet är busy. Ungefär som Outlook har.

/m


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-10-05 09:04:00 - Stefan Larsson

Jag hade en annan avstängning som funkade, dvs en quit knapp med lite logik bakom. Det var den knappen jag ville aktivera när användaren trycker på X knappen.

Annars skulle jag mycket väl kunna lägga all kod i själva eventet.


Svara

Sv: Hur fånga en avstängning.

Postades av 2001-10-05 09:14:00 - Mikael Wedham

Jaha, OK.

I Query unload sätter du cancel till true, och sedan anropar du din avslutningsprocedur.

men... det har du ju redan kommit på...

/micke


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

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 570 710
27 958
271 751
635
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