Usuwanie Wszystkich Handlerow / Listenerów

Dyskusje dotyczące tworzenia makropoleceń, pisania skryptów oraz programowania przy użyciu UNO
s1w_
Posty: 7
Rejestracja: śr mar 22, 2017 6:27 pm

Usuwanie Wszystkich Handlerow / Listenerów

Post autor: s1w_ »

Ciągle sprawiają mi problem listenery modyfikacji, tak jak by usuwanie handlerów nie zaskakiwało poprawnie mimo że poprawnie sygnalizują wartość null po usunięciu.

Po przeładowaniu całego skryptu, niektóre listenery odpalane są podwójnie... po 4 przeładowaniu czterokrotnie.

Jest sposób na definitywne wyczyszczenie handlerów z arkusza? - czyszczenie z poszczególnych komórek, czy z 'ranges' czy z 'cells' nic nie zmienia!

------
edit: zauważyłem że ten problem pojawia się gdy modyfikujemy kod basic - zmienne się zerują ale listenery zostają tracąc powiązanie.

Kod: Zaznacz cały

Sub remove_modifyListeners
On Error Resume Next
	If Not IsNull(B_Mod_Handler) Then 'filter listener
		ThisComponent.Sheets(0).getCellrangeByName("B1").RemoveModifyListener(B_Mod_Handler)
		B_Mod_Handler = Nothing
		msgbox "filter handler removed " & IsNull(B_Mod_Handler)
	EndIf
	If Not IsNull(AF_Mod_Handler) Then 'rows listener
		ThisComponent.Sheets(0).getCellrangeByName("AF1").RemoveModifyListener(AF_Mod_Handler)
		AF_Mod_Handler = Nothing
		msgbox "rows handler removed " & IsNull(AF_Mod_Handler)
	EndIf
End Sub
LibreOffice 5.0.4.2 na Windows 7
s1w_
Posty: 7
Rejestracja: śr mar 22, 2017 6:27 pm

Re: Usuwanie Wszystkich Handlerow / Listenerów

Post autor: s1w_ »

LibreOffice 5.0.4.2 na Windows 7
Jan_J
Posty: 4560
Rejestracja: pt maja 22, 2009 1:20 pm
Lokalizacja: Wrocław

Re: Usuwanie Wszystkich Handlerow / Listenerów

Post autor: Jan_J »

Dla porządku, warto zgłosić na bugzillę libreoffice'a. O ile w nim ten błąd też występuje.
JJ
LO (7.6|24.2) ∙ Python (3.12|3.10) ∙ Unicode 15 ∙ LᴬTEX 2ε ∙ XML ∙ Unix tools ∙ Linux (Rocky|CentOS)
ODPOWIEDZ