[DXL, DOORS] Erstellung eines Triggers

Hell666

Ensign
Registriert
Aug. 2008
Beiträge
129
Moin Leute,

ich hoffe hier gibt es den einen oder anderen der sich mit DXL in DOORS auskennt.
Ich möchte gerne ein DXL-Skript per Trigger-Event auslösen in einem Modul. Im Moment läuft das Skript immer permanent sobald man das Modul öffnen, doch leider ist die Geschwindigkeit nicht mehr so dolle (um es noch nett auszudrücken).

Nun möchte ich, das gesamte Skript nur noch ausführen, wenn ich das entsprechende Objekt wo das Skript hinterlegt ist ändere. Also wenn ich nach dem editieren einer entsprechenden DOORS Zelle die Änderung übernehme (nicht speichern, sondern Abwahl der Zelle), soll einmal das Skript ausgeführt werden.

Hierzu experimentiere ich gerade mit Triggern. Folgendes habe ich bislang zusammen:
// Initialisierung
Trigger t = null
Module m = current Module

t = trigger(module->"test_real_int"->attribute->"Test_Trigger", modify,1)


for t in m do {
print "Trigger hat ausgelöst"
}


Irgendwie verstehe ich nicht wie man einen Trigger zusammenbaut. Persistent sollte er nicht sein, dynamisch ist hier so glaube ich die richtige Wahl. Reagieren soll er auf die Änderung (Modify) und das Module wo er läuft heißt „test_real_int“ mit den entsprechenden Attribut „Test_Trigger“. Test_Trigger ist in übrigen vom Type „Text“.

Auszug DXL Beschreibung zum dynamischen Trigger:

Trigger trigger(l,
e,
int p,
{bool pre(Trigger)|
void post(Trigger)})
where:
l is a level: project, module, object, or attribute
e is an event: open, read, close, save, modify or sync


Wo habe ich hier meinen Denkfehler?

Danke & Gruß
Hell
 
Schon alt, aber besser ein späte Lösung als gar keine ;)

Ich installiere meine Trigger immer so in dem Modul, in dem ich sie haben möchte:
Code:
Trigger t

t = trigger("Triggername", module->attribute->"Attributname", post, modify, 2, "DXL-Code")

Triggername kannst du dir dabei aussuchen. z.B. kurze Beschreibung was der Trigger macht
module->attribute->"Attributname" definiert das Attribut, welches der Trigger "überwacht"
modify: Ausführung bei Änderung des Attribut-Wertes
post: Zeitpunkt nach der Änderung
im letzten Teil steht dann der dxl-Programm Code, der ausgeführt werden soll. Wichtig ist hier, dass das ein STRING sein muss.
Die 2 ist die Priorität, wann der Trigger ausgeführt werden soll. Braucht an nur, wenn z.B. mehrere Trigger auf ein Attribut liegen und die Reihenfolge der Ausführung wichtig ist.

VG
K3ymast3r
 
Zurück
Oben