problema toggle butoane

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Avatar utilizator
.ShadoW
Nivel 4

Nivel 4
Mesaje: 659
Membru din: 14 Noi 2013, 17:54
Server: not yet..
Regat: Jinno
Aprecieri: 379  
Mulţumiri: 32  
Medalii

*Problemă/Întrebare:Salutare, incercam sa pun functia de toggle de la specialstorage la un buton de langa inventar, si cand dau click primesc eroarea asta in sysser, stie cineva de ce apare?
Tipologie server:pvm
*Resursă folosită:special storage
*ServerFiles utilizat:-
*Syserr:'NoneType' object has no attribute 'IsShow'
Poză:-
*Detalii suplimentare:Multumesc anticipat!

asta e linia la care primesc eroarea
	if app.ENABLE_SPECIAL_STORAGE:
		def ToggleSpecialStorageWindow(self):
			if False == player.IsObserverMode():
				if False == self.wndSpecialStorage.IsShow():
					self.wndSpecialStorage.Show()
				else:
					self.wndSpecialStorage.Close()	
Imagine
Afișează semnătura
Avatar utilizator
amvenitsavadcv
Nivel 3

Nivel 3
Mesaje: 413
Membru din: 28 Iul 2018, 11:25
Server: da
Aprecieri: 44  
Mulţumiri: 156  
Medalii

if False == self.wndSpecialStorage.IsShow():
Tu apelezi o functie ce nu exista, mai exact, functia IsShow().

Ai in ui.py?:
	def IsShow(self):
		return wndMgr.IsShow(self.hWnd)
Daca da
Incearca sa adaugi in uispecialinventory.py:
	def IsShow(self):
		self.__LoadWindow()
		ui.ScriptWindow.IsShow(self)
Nu garantez ca merge, ca nu am testat, e ceva facut de moment

Edit: Am gresit, nu asta e problema, am citit gresit. Tu ti-ai declarat wndSpecialStorage?
self.wndSpecialStorage = None
Si ai asta?
		if app.ENABLE_SPECIAL_STORAGE:
			self.wndSpecialStorage = uiSpecialStorage.SpecialStorageWindow()
Avatar utilizator
.ShadoW
Nivel 4

Nivel 4
Mesaje: 659
Membru din: 14 Noi 2013, 17:54
Server: not yet..
Regat: Jinno
Aprecieri: 379  
Mulţumiri: 32  
Medalii

amvenitsavadcv scrie: ↑13 Noi 2020, 11:27
if False == self.wndSpecialStorage.IsShow():
Tu apelezi o functie ce nu exista, mai exact, functia IsShow().

Ai in ui.py?:
	def IsShow(self):
		return wndMgr.IsShow(self.hWnd)
Daca da
Incearca sa adaugi in uispecialinventory.py:
	def IsShow(self):
		self.__LoadWindow()
		ui.ScriptWindow.IsShow(self)
Nu garantez ca merge, ca nu am testat, e ceva facut de moment

Edit: Am gresit, nu asta e problema, am citit gresit. Tu ti-ai declarat wndSpecialStorage?
self.wndSpecialStorage = None
Si ai asta?
		if app.ENABLE_SPECIAL_STORAGE:
			self.wndSpecialStorage = uiSpecialStorage.SpecialStorageWindow()
am verificat asta, e declarat None la inceput self.wndSpecialStorage = None
si am functia asa
			if self.wndSpecialStorage:
				self.wndSpecialStorage.SetEvent(ui.__mem_func__(self.ClickSpecialStorageButton))


	def ClickSpecialStorageButton(self):
		self.interface.ToggleSpecialStorageWindow()
Ultima oară modificat 13 Noi 2020, 13:55 de către .ShadoW, modificat 1 dată în total.
Imagine
Afișează semnătura
Avatar utilizator
amvenitsavadcv
Nivel 3

Nivel 3
Mesaje: 413
Membru din: 28 Iul 2018, 11:25
Server: da
Aprecieri: 44  
Mulţumiri: 156  
Medalii

Tu eroarea de mai sus o ai, ca variabila wndSpecialStorage nu are metoda IsShow, adica nu i-ai atribuit SpecialStorageWindow(), adica de unde sa citeasca metoda aia.
if self.wndSpecialStorage:
				self.wndSpecialStorage.SetEvent(ui.__mem_func__(self.ClickSpecialStorageButton))
Cu functia asta tu pui un event pe buton, gen sa deschida depozitu special, dar el nu stie de unde sa citeasca IsShow.
Trimite si functia
def ClickSpecialStorageButton
Avatar utilizator
.ShadoW
Nivel 4

Nivel 4
Mesaje: 659
Membru din: 14 Noi 2013, 17:54
Server: not yet..
Regat: Jinno
Aprecieri: 379  
Mulţumiri: 32  
Medalii

amvenitsavadcv scrie: ↑13 Noi 2020, 13:54 Tu eroarea de mai sus o ai, ca variabila wndSpecialStorage nu are metoda IsShow, adica nu i-ai atribuit SpecialStorageWindow(), adica de unde sa citeasca metoda aia.
if self.wndSpecialStorage:
				self.wndSpecialStorage.SetEvent(ui.__mem_func__(self.ClickSpecialStorageButton))
Cu functia asta tu pui un event pe buton, gen sa deschida depozitu special, dar el nu stie de unde sa citeasca IsShow.
Trimite si functia
def ClickSpecialStorageButton
	def ClickSpecialStorageButton(self):
		self.interface.ToggleSpecialStorageWindow()
Imagine
Afișează semnătura
Avatar utilizator
amvenitsavadcv
Nivel 3

Nivel 3
Mesaje: 413
Membru din: 28 Iul 2018, 11:25
Server: da
Aprecieri: 44  
Mulţumiri: 156  
Medalii

interfacemodule.py
Cauta:
		self.wndChatLog = wndChatLog
Adauga dupa:
		if app.ENABLE_SPECIAL_STORAGE:
			self.wndSpecialStorage = uiSpecialStorage.SpecialStorageWindow()
Avatar utilizator
.ShadoW
Nivel 4

Nivel 4
Mesaje: 659
Membru din: 14 Noi 2013, 17:54
Server: not yet..
Regat: Jinno
Aprecieri: 379  
Mulţumiri: 32  
Medalii

amvenitsavadcv scrie: ↑13 Noi 2020, 14:02 interfacemodule.py
Cauta:
		self.wndChatLog = wndChatLog
Adauga dupa:
		if app.ENABLE_SPECIAL_STORAGE:
			self.wndSpecialStorage = uiSpecialStorage.SpecialStorageWindow()
e pus
Imagine
Afișează semnătura
Avatar utilizator
amvenitsavadcv
Nivel 3

Nivel 3
Mesaje: 413
Membru din: 28 Iul 2018, 11:25
Server: da
Aprecieri: 44  
Mulţumiri: 156  
Medalii

Lasă aici interfacemodule.py și uispecialinventory.py si uiinventory.py
Avatar utilizator
.ShadoW
Nivel 4

Nivel 4
Mesaje: 659
Membru din: 14 Noi 2013, 17:54
Server: not yet..
Regat: Jinno
Aprecieri: 379  
Mulţumiri: 32  
Medalii

amvenitsavadcv scrie: ↑13 Noi 2020, 21:44 Lasă aici interfacemodule.py și uispecialinventory.py si uiinventory.py
Mersi frumos pt suport, apreciez
Link
Imagine
Afișează semnătura
Avatar utilizator
amvenitsavadcv
Nivel 3

Nivel 3
Mesaje: 413
Membru din: 28 Iul 2018, 11:25
Server: da
Aprecieri: 44  
Mulţumiri: 156  
Medalii

http://www.girlshare.ro/3769985429.1
Incearca cu uiinventory.py asta.
Închis
Răspunsuri
3
Vizualizări
525
Răspunsuri
2
Vizualizări
336
Răspunsuri
1
Vizualizări
218

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Amazon [Bot], Semrush [Bot] și 41 vizitatori