vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

VB.NET - Ein- und Umsteiger
Re: Funktionsaufruf von verschiedenen Threads 
Autor: CAM-Andi
Datum: 06.03.14 14:22

Das ist nun meine Lösung:
Public Class DocNameSingleTon
    ' Variable zur Speicherung der einzigen Instanz
    Private Shared instance As DocNameSingleTon = Nothing
 
    ' Hilfsvariable für eine sichere Threadsynchronisierung.
    Private Shared ReadOnly mylock As New Object()
 
    ' Konstruktor ist privat, damit die Klasse nur aus sich selbst heraus 
    ' instanziiert werden kann.
    Private Sub New()
        '
    End Sub
 
    ' Diese Shared-Methode liefert die einzige Instanz der Klasse zurück.
    Public Shared Function GetInstance() As DocNameSingleTon
        SyncLock (mylock)
            If instance Is Nothing Then
                instance = New DocNameSingleTon
            End If
        End SyncLock
 
        Return instance
 
    End Function
 
    Public Function DocName() As String
 
        Dim Top_Process As Process()                        'Array für die 
        ' gefunden Prozesse mit top612 im Namen
 
        Top_Process = Process.GetProcessesByName("top612")           'Suche 
        ' nach offenen TopSolid Anwendungen
 
        Try
            If UBound(Top_Process) > -1 Then
 
                Dim TopApp As TopSolid.Application
                TopApp = New TopSolid.Application
 
                If TopApp.Documents.Count > 0 Then
 
                    Return TopApp.CurrentDocument.Name
 
                Else
                    Return "keine Datei geöffnet"
                End If
            Else
                Return "TopSolid nicht gestartet"
            End If
        Catch ex As Exception
            Return "Error"
        End Try
 
    End Function                                                     'Ermittelt 
    ' den Dokumentnamen der gerade geöffnet ist
End Class  ' Threadsichere Klasse für Funktion DocName
Instanzierung:
Dim MyDocNameSingleTon As DocNameSingleTon = DocNameSingleTon.GetInstance()
Aufruf der Funktion in verschiedenen Thread's
Dim Nachricht As String = MyDocNameSingleTon.DocName()
Wenn jemand darin Probleme sieht, bitte posten, Danke!

Grüße Andi

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Funktionsaufruf von verschiedenen Threads1.986CAM-Andi04.03.14 07:39
Re: Funktionsaufruf von verschiedenen Threads1.504ModeratorFZelle04.03.14 10:16
Re: Funktionsaufruf von verschiedenen Threads1.525CAM-Andi04.03.14 10:59
Re: Funktionsaufruf von verschiedenen Threads1.728CAM-Andi05.03.14 06:40
Re: Funktionsaufruf von verschiedenen Threads1.519ModeratorFZelle05.03.14 10:00
Re: Funktionsaufruf von verschiedenen Threads1.491CAM-Andi05.03.14 11:35
Re: Funktionsaufruf von verschiedenen Threads1.538CAM-Andi06.03.14 14:22
Re: Funktionsaufruf von verschiedenen Threads1.467ModeratorFZelle07.03.14 01:39
Re: Funktionsaufruf von verschiedenen Threads1.521CAM-Andi07.03.14 08:58
Re: Funktionsaufruf von verschiedenen Threads1.466ModeratorFZelle07.03.14 09:54
Re: Funktionsaufruf von verschiedenen Threads1.481CAM-Andi07.03.14 10:39
Re: Funktionsaufruf von verschiedenen Threads1.468Manfred X07.03.14 12:05
Re: Funktionsaufruf von verschiedenen Threads1.621CAM-Andi07.03.14 14:14

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-2024 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