Register: Abfage ob gesperrt

Forum zur Erstellung von Anwendungen der erweiterten Scripting-Funktion
Info: Diese Schalter und Script-Anwendungen funktionieren erst ab der Version 11
Antworten
wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Register: Abfage ob gesperrt

Beitrag von wazlaf » 17. Apr 2014 21:04

Kann ich per Script abfragen ob ein Register gesperrt ist?

Folgendes Beispiel klappt bei mir leider nicht.

Code: Alles auswählen

@language vbscript

Function OnClick(ByRef ClickData)
	Dim tab
	Set tab = ClickData.Func.Command.SourceTab
	
	Dim DopusCmd
	Set DopusCmd = DOpus.CreateCommand
		
	DopusCmd.SetSourceTab(tab)
	If DopusCmd.IsSet("TABLOCK=lockchanges") Then
		MsgBox("gesperrt")
	Else
		MsgBox("nicht gesperrt")
	End If
End Function
Danke

Frendliche Grüße
wazlaf

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Register: Abfage ob gesperrt

Beitrag von Kundal » 17. Apr 2014 22:46

Das kann so gar nicht funktionieren, weil das Argument TABLOCK mit IsSet nicht geprüft werden kann. Mit IsSet kannst du nur prüfen, was mit dem Befehl Set gesetzt wurde. TABLOCK ist aber ein Argument des Go-Befehls.
Wenn du das prüfen willst müsstest du in dem Schalter, der den Tablock ein/ausschaltet eine Variable setzen, deren Vorhandensein du im Script prüfen kannst:

Code: Alles auswählen

@ifset:$src:tblck
@set src:tblck
Go TABLOCK=Off
@ifset:else
Go TABLOCK=lockchanges
@set src:tblck=1

wazlaf
Beiträge: 52
Registriert: 18. Mär 2014 11:06
Betriebssystem: Win 8.1 Pro x64
Produkt: DOpus 11.1 x64
Version DOpus: Pro

Re: Register: Abfage ob gesperrt

Beitrag von wazlaf » 18. Apr 2014 20:18

Vielen Dank für den Tipp.
Das mit den Variablen geht ja sogar pro Register. (Dann hätte ich mir eigentlich den Umweg über ein Textfile sparen können.)

Man lernt halt nie aus. Habe wohl mit IsSet etwas zu kurz gedacht so in der Art Prüfe ob eine Sperre gesetzt ist
Analog dem Beispiel in der Hilfe:

Code: Alles auswählen

If objCmd.IsSet("VIEW=Thumbnails") Then
	objCmd.RunCommand("Set SORTBY=modified")
Else
	objCmd.RunCommand("Set SORTBY=name")
End If
Aber View ist ja ein Set Befehl und kein Go Befehl.

Vielen Dank

Freundliche Grüße
wazlaf

Benutzeravatar
Kundal
Moderator
Beiträge: 1337
Registriert: 20. Apr 2010 21:26
Betriebssystem: Win7 & Win 10 Pro 64 bit
Produkt: DOpus 12 x64 - Letzte Betaversion
Version DOpus: Pro

Re: Register: Abfage ob gesperrt

Beitrag von Kundal » 18. Apr 2014 23:24

Schön, dass du dich an der neuen Scripting-Funktion versuchst. Wenn du eine neue Version deines Scripts posten willst, solltest du das nicht in dem alten "Neulingsfragen"-Beitrag tun, sondern in der Sparte Directory Opus Scripting-Beispiele ab V11. Da wird es von anderen Forumsmitgliedern besser gefunden.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste