vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Re: Thread übergreifend bei Powerpoint Event 
Autor: mathiasr
Datum: 27.06.12 09:19

Hallo DaveS,

hier der Code einer Testform mit der sich das Problem nachvollziehen läßt:
Imports Microsoft.Office.Interop.PowerPoint
Public Class Form2
    Dim WithEvents _oPPT As New Microsoft.Office.Interop.PowerPoint.Application
 
    Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        Dim oPPS As Microsoft.Office.Interop.PowerPoint.Presentation = Nothing
        Dim sFilename As String = "C:\Temp\TestPresentation.ppsx"
        oPPS = _oPPT.Presentations.Open(sFilename)
    End Sub
 
    Private Sub _oPPT_SlideShowEnd(Pres As _
      Microsoft.Office.Interop.PowerPoint.Presentation) Handles _
      _oPPT.SlideShowEnd
        Me.LabelStatus.Text = "Presentation beendet" 'hier kommt die 
        ' Fehlermeldung
    End Sub
End Class
So funktioniert es nun zumindest (notwendige Änderung mit Kommentar "Neu"):
Eine Bestätigung von Euch das es so "sauber" ist wäre nett!

Imports Microsoft.Office.Interop.PowerPoint
Public Class Form2
    Dim WithEvents _oPPT As New Microsoft.Office.Interop.PowerPoint.Application
    Dim machIrgendwasDelegate As New MethodInvoker(AddressOf machIrgendwas) 'NEU
 
    Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        Dim oPPS As Microsoft.Office.Interop.PowerPoint.Presentation = Nothing
        Dim sFilename As String = "C:\Temp\TestPresentation.ppsx"
        oPPS = _oPPT.Presentations.Open(sFilename)
    End Sub
 
    Private Sub _oPPT_SlideShowEnd(Pres As _
      Microsoft.Office.Interop.PowerPoint.Presentation) Handles _
      _oPPT.SlideShowEnd
        If Me.InvokeRequired Then 'NEU
            Me.Invoke(machIrgendwasDelegate) 'NEU
        Else
            Call machIrgendwas()
        End If
    End Sub
 
    Sub machIrgendwas()
        Me.LabelStatus.Text = "Presentation beendet"
    End Sub
End Class
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Thread übergreifend bei Powerpoint Event2.736mathiasr26.06.12 12:32
Re: Thread übergreifend bei Powerpoint Event1.381ModeratorDaveS26.06.12 21:22
Re: Thread übergreifend bei Powerpoint Event1.356mathiasr27.06.12 09:19
Re: Thread übergreifend bei Powerpoint Event1.224ModeratorDaveS27.06.12 10:34
Re: Thread übergreifend bei Powerpoint Event1.243mathiasr27.06.12 10:49
Re: Thread übergreifend bei Powerpoint Event1.267xirton26.06.12 22:36

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel