Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  EPLAN Electric P8
  Event beim trennen von Connections - Problem

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für EPLAN
Autor Thema:  Event beim trennen von Connections - Problem (571 mal gelesen)
thomass2
Mitglied


Sehen Sie sich das Profil von thomass2 an!   Senden Sie eine Private Message an thomass2  Schreiben Sie einen Gästebucheintrag für thomass2

Beiträge: 1
Registriert: 07.07.2014

erstellt am: 07. Jul. 2014 11:57    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo!

Ich hab hier ein kleines Problem:
Im Großen und Ganzen geht es darum, verschiedenste Events an einen Server weiterzuleiten. Beispielsweise wenn neue Functions erstellt oder gelöscht wurden, oder eben wenn eine Connection zwischen 2 Functions erstellt oder getrennt wurde.

Für den Part mit den Connections greife ich das EsSwitchConnectionUpdate-Event ab.

Nun besteht leider das Problem, dass zum Zeitpunkt wenn onActionEnd.String.EsSwitchConnectionUpdate gefeuert wird, die Connection noch nicht "getrennt" ist (wird mit dem DMObjetcsFinder und einem Custom Filter überprüft). Man hinkt immer einen Schritt hinterher...

Der momentane "Hack" besteht darin, einen 2. Thread zur erstellen und dort wird dann solange gewartet bis keine Transaktionen mehr laufen und anschließend wird wieder, manuell das EsSwitchConnectionUpdate gefeuert (2. Versuch war die Connections neu generieren zu lassen):

Code:

private void ThreadTask(Object data)
        {

            TransactionManager txm = new TransactionManager();
            while (txm.IsEplanTransactionRunning | | txm.IsTransactionRunning | | txm.IsEplanROTransactionRunning | | txm.IsROTransactionRunning)
            {
                Thread.Sleep(10);
            }.
           

            EventParameterString oEventParamString = new EventParameterString();
            oEventParamString.String = "EsSwitchConnectionUpdate";
            long lRetVal = new EventManager().Send("onActionEnd.String.EsSwitchConnectionUpdate", oEventParamString);

            //Project p = (Project)data;
            //Generate oGenerate = new Generate();
            //oGenerate.Connections(p);
            //no write operation allowed during read transaktion
        }


Soweit so gut, doch kommt es in unregelmäßigen Abständen zu diversen Exceptions:

Code:
A write transaction cannot be started within another transaction

Code:
No write operation allowed during read transaction

uvm.

Vielleicht hat jemand einen Tipp wie man das Problem lösen kann. Eigentlich egal ob "ordentlich" oder durch einen neuen "Hack".


Danke schon mal im Vorhinein!

lg Thomas


edit: Es handelt sich hierbei um ein C#-API-AddIn
[Diese Nachricht wurde von thomass2 am 07. Jul. 2014 editiert.]

[Diese Nachricht wurde von thomass2 am 07. Jul. 2014 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz