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


Events i klasser

Postades av 2001-05-13 00:13:00 - Frans Englich, i forum visual basic - allmänt, Tråden har 5 Kommentarer och lästs av 755 personer

Jag har en klass med ett par events som jag 'reser' vid ett par tillfällen. I en annan klass har jag en instans av klassen med events deklarerat så här:
Private withevents VarKlassMedEvents as KlassMedEvents

I Intialize kör jag set VarKlassmedEvents = new klassmedevents.

Subben som sedan ska köras när eventen 'reses' körs aldrig! Varför då? Är det för att jag körde set .. = new .. ? Hur ska jag annars göra för att ladda klassen?

mvh Frans


Svara

Sv: Events i klasser

Postades av 2001-05-13 10:41:00 - Andreas Hillqvist

Kan man få se koden?


Svara

Sv: Events i klasser

Postades av 2001-05-13 11:26:00 - Frans Englich

Det är ju inte mycket till kod men.. jag har ett exempel som inte funkar. Samma princip som där det ska användas:

form1:
<code>
Option Explicit
Dim WithEvents vKlass1 As Class1
Private Sub Form_Load()
Set vKlass1 = New Class1 '// hur ska jag annars göra för att instansiera?
End Sub

Private Sub vKlass1_Händelse()
MsgBox "Händelsen kördes!" '//har aldrig hänt
End Sub
</code>
Class1:
<code>
Option Explicit
Public Event Händelse()

Private Sub Class_Initialize()
RaiseEvent Händelse
End Sub
</code>


Svara

Sv: Events i klasser

Postades av 2001-05-13 12:09:00 - Peter Holm

Har gjort lite tester och jag tror inte att du kan trigga ett event från
en Class_Initialize händelse. Om du tänker efter lite......

När Class_Initialize händelsen triggas i din klass så existerar ännu inte
instansen och därför kan du inte trigga ditt event.

Läste lite i VB-hjälpen och hittade
dessutom följande text:

Important The Initialize and Terminate events should never interact with the user.

Sample Code =====================================

'Form1
Option Explicit
Private WithEvents C1 As Class1

Private Sub Form_Load()
Set C1 = New Class1
C1.raiseAnEvent
End Sub

Private Sub C1_anEvent(C As String)
Debug.Print C
End Sub

'Class1
Option Explicit

Event anEvent(C As String)

Public Sub raiseAnEvent()
RaiseEvent anEvent("raiseAnEvent")
End Sub

Private Sub Class_Initialize()
'Klassen har ännu inte instansierats och därför kan inte detta event triggas.
RaiseEvent anEvent("Class_Initialize")
End Sub

Sample Code =====================================


/peterh


Svara

Sv: Events i klasser

Postades av 2001-05-15 12:09:00 - Hans Kylberg

Jag gjorde ett litet test och kan inte förstå annat än att instansen existerar vid initialize:
<Class1>:
Private Sub Class_Initialize()
MsgBox "Häpp!!!"
End Sub

<Form1>:
Private Sub Form_Load()
Dim obj As Class1
Set obj = New Class1
End Sub

Det här funkar precis som det borde

- Hans


Svara

Sv: Events i klasser

Postades av 2001-05-15 12:52:00 - Peter Holm

OKEJ - RÄTTELSE.

Klassen finns men ännu inte för "formen" eller för referensen.

Formen känner inte till instansen när eventet skall triggas.
Därför kommer inte heller eventet att triggas.

Class_Initialize körs nämligen innan referensen till instansen
tilldelas variabeln som skall hålla referensen.

/peterh


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 619
27 953
271 709
543
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