Kannst du nicht überprüfen, ob die zu speichernde Datei noch nicht exisitiert (dann wäre es ein selbst erstelltes Scripts), und nur dann die Zeile einfügen, wenn Opt.MustDeclareVars.au3=1 ist?
Ja, tatsächlich - das geht.
--- Werde ich noch einfügen. Füge dann als Option eine Property zum Überprüfen aller Skripte ein.
Aber kannst du mal testen, ob TimeStamp bei dir noch funktioniert, wenn du dieses Skript aktivierst?
Eigentlich ist das egal, wenn ich in verschiedenen Skripten dieselbe interne Funktion (OnBeforeSave) mehrfach aufrufe. Intern landet sowieso jedes Skript beim Laden in einem Globalen Array. Die Aufrufe der Event-Funktionen landen dann auf einem Stack und werden nacheinander abgearbeitet.
Bei mir ist jetzt folgender Effekt:
In SciTEStartup.lua:
- Aufruf TimeStamp.lua und danach Aufruf MustDeclare.lua: Nur das Skript für MustDeclare wird ausgeführt
- Aufrufreihenfolge umgekehrt: Nur TimeStamp wird ausgeführt
Also immer das zuletzt geladene Skript wird verwendet.
Das habe ich noch nie erlebt. Ich verwende die Event-Funktionen dutzendfach (z.B. in meiner OHK.lua und den zugehörigen Funktionen) ohne jede Kollision. Im Moment habe ich dafür keine Erklärung. Mal drüber schlafen.