Çözüldü Python Syserr

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

melihalbayrak

Yasaklanmış Üye
Cezalı
Geliştirici
Yardımsever Üye
Mesaj
1.317
Çözümler
84
Beğeni
793
Puan
1.475
Ticaret Puanı
0
Karakter detay sisteminden sonra oluşan syserr. C tuşu ile açılan karakter penceresi açık bırakıp ışınlandığımda pencere yine ekranda kalıyor ve C tuşuyla tekrar pencereyi açmak istediğimden ikincisi açılıyor diğer pencerede kapanmıyor çarpıya tıklayınca bu syserrler düşüyor.

Sistem;


Syserr ilgili satırlar:
Genişlet Daralt Kopyala
    def __ShowAlignmentToolTip(self):
        self.toolTipAlignment.ShowToolTip()

    def __HideAlignmentToolTip(self):
        self.toolTipAlignment.HideToolTip()

Kod:
Genişlet Daralt Kopyala
0726 19:38:12825 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
0726 19:38:15800 :: icon/item/30319.tga 파일이 없습니다.CItemData::__SetIconImage
0726 19:38:35688 :: Traceback (most recent call last):

0726 19:38:35688 ::   File "ui.py", line 1179, in OnMouseOverIn

0726 19:38:35689 ::   File "ui.py", line 87, in __call__

0726 19:38:35689 ::   File "ui.py", line 69, in __call__

0726 19:38:35689 ::   File "uiCharacter.py", line 1133, in __ShowAlignmentToolTip

0726 19:38:35689 :: AttributeError
0726 19:38:35689 :: :
0726 19:38:35689 :: 'NoneType' object has no attribute 'ShowToolTip'
0726 19:38:35689 ::

0726 19:38:35736 :: Traceback (most recent call last):

0726 19:38:35743 ::   File "ui.py", line 1185, in OnMouseOverOut

0726 19:38:35743 ::   File "ui.py", line 87, in __call__

0726 19:38:35743 ::   File "ui.py", line 69, in __call__

0726 19:38:35743 ::   File "uiCharacter.py", line 1136, in __HideAlignmentToolTip

0726 19:38:35743 :: AttributeError
0726 19:38:35743 :: :
0726 19:38:35744 :: 'NoneType' object has no attribute 'HideToolTip'
0726 19:38:35744 ::

0726 19:38:36570 :: Traceback (most recent call last):

0726 19:38:36570 ::   File "ui.py", line 1465, in CallEvent

0726 19:38:36570 ::   File "ui.py", line 87, in __call__

0726 19:38:36570 ::   File "ui.py", line 69, in __call__

0726 19:38:36571 ::   File "uiCharacter.py", line 459, in Close

0726 19:38:36571 :: AttributeError
0726 19:38:36571 :: :
0726 19:38:36571 :: 'NoneType' object has no attribute 'Hide'
0726 19:38:36571 ::

0726 19:38:38904 :: Traceback (most recent call last):

0726 19:38:38904 ::   File "uiCharacter.py", line 822, in OnPressEscapeKey

0726 19:38:38904 ::   File "uiCharacter.py", line 459, in Close

0726 19:38:38904 :: AttributeError
0726 19:38:38904 :: :
0726 19:38:38904 :: 'NoneType' object has no attribute 'Hide'
0726 19:38:38904 ::
 
Çözüm
interfacemodule.py dosyasında def Close(self): içinde şunu bul:

Python:
Genişlet Daralt Kopyala
        if self.wndChat:
            self.wndChat.Destroy()

Altına ekle:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Close()
        else:
            if self.wndCharacter:
                self.wndCharacter.Hide()

def HideAllWindows(self): fonksiyonu içinden şu kısmı bul:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Hide()

Değiştir:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Close()
        else:
            if self.wndCharacter:
                self.wndCharacter.Hide()

def ToggleCharacterWindow(self, state fonksiyonunu ara ve komple şu şekilde değiştirmeyi dene yada farklı olan kısımları al:
Python:
Genişlet Daralt Kopyala
...
uicharacter.py de şu kısmı;

Python:
Genişlet Daralt Kopyala
titleBarValue.SetCloseEvent(ui.__mem_func__(self.Close))

Şu şekilde değiştirmeyi dene:
Python:
Genişlet Daralt Kopyala
titleBarValue.SetCloseEvent(ui.__mem_func__(self.Hide))
 
uicharacter.py de şu kısmı;

Python:
Genişlet Daralt Kopyala
titleBarValue.SetCloseEvent(ui.__mem_func__(self.Close))

Şu şekilde değiştirmeyi dene:
Python:
Genişlet Daralt Kopyala
titleBarValue.SetCloseEvent(ui.__mem_func__(self.Hide))
Evet close ve hide syserr çözüldü artık ışınlandıktan sonra kapatma yani çarpı butonu çalışıyor fakat bu syserr kaldı.

Kod:
Genişlet Daralt Kopyala
0726 22:56:43679 :: CMapOutdoor::Load - LoadMonsterAreaInfo ERROR
0726 22:56:53813 :: Traceback (most recent call last):

0726 22:56:53813 ::   File "ui.py", line 1187, in OnMouseOverIn

0726 22:56:53813 ::   File "ui.py", line 87, in __call__

0726 22:56:53813 ::   File "ui.py", line 69, in __call__

0726 22:56:53814 ::   File "uiCharacter.py", line 1147, in __ShowAlignmentToolTip

0726 22:56:53814 :: AttributeError
0726 22:56:53814 :: :
0726 22:56:53814 :: 'NoneType' object has no attribute 'ShowToolTip'
0726 22:56:53814 ::

0726 22:56:53879 :: Traceback (most recent call last):

0726 22:56:53879 ::   File "ui.py", line 1193, in OnMouseOverOut

0726 22:56:53880 ::   File "ui.py", line 87, in __call__

0726 22:56:53883 ::   File "ui.py", line 69, in __call__

0726 22:56:53883 ::   File "uiCharacter.py", line 1150, in __HideAlignmentToolTip

0726 22:56:53883 :: AttributeError
0726 22:56:53884 :: :
0726 22:56:53884 :: 'NoneType' object has no attribute 'HideToolTip'
0726 22:56:53884 ::
 
interfacemodule.py dosyasında def Close(self): içinde şunu bul:

Python:
Genişlet Daralt Kopyala
        if self.wndChat:
            self.wndChat.Destroy()

Altına ekle:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Close()
        else:
            if self.wndCharacter:
                self.wndCharacter.Hide()

def HideAllWindows(self): fonksiyonu içinden şu kısmı bul:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Hide()

Değiştir:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Close()
        else:
            if self.wndCharacter:
                self.wndCharacter.Hide()

def ToggleCharacterWindow(self, state fonksiyonunu ara ve komple şu şekilde değiştirmeyi dene yada farklı olan kısımları al:
Python:
Genişlet Daralt Kopyala
    def ToggleCharacterWindow(self, state):
        if FALSE == player.IsObserverMode():
            if FALSE == self.wndCharacter.IsShow():
                self.OpenCharacterWindowWithState(state)
            else:
                if state == self.wndCharacter.GetState():
                    self.wndCharacter.OverOutItem()
                    self.wndCharacter.Close()
                else:
                    self.wndCharacter.SetState(state)
 
Çözüm
interfacemodule.py dosyasında def Close(self): içinde şunu bul:

Python:
Genişlet Daralt Kopyala
        if self.wndChat:
            self.wndChat.Destroy()

Altına ekle:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Close()
        else:
            if self.wndCharacter:
                self.wndCharacter.Hide()

def HideAllWindows(self): fonksiyonu içinden şu kısmı bul:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Hide()

Değiştir:
Python:
Genişlet Daralt Kopyala
        if self.wndCharacter:
            self.wndCharacter.Close()
        else:
            if self.wndCharacter:
                self.wndCharacter.Hide()

def ToggleCharacterWindow(self, state fonksiyonunu ara ve komple şu şekilde değiştirmeyi dene yada farklı olan kısımları al:
Python:
Genişlet Daralt Kopyala
    def ToggleCharacterWindow(self, state):
        if FALSE == player.IsObserverMode():
            if FALSE == self.wndCharacter.IsShow():
                self.OpenCharacterWindowWithState(state)
            else:
                if state == self.wndCharacter.GetState():
                    self.wndCharacter.OverOutItem()
                    self.wndCharacter.Close()
                else:
                    self.wndCharacter.SetState(state)
Döktürüyorsunuz. :) Sadece bir kısımda eksik varmış diğer kısımlar zaten sistemde değiştirilmiş vaziyette. Eksik kısım ise burasıymış.

Kod:
Genişlet Daralt Kopyala
        if self.wndChat:
            self.wndChat.Destroy()

Altına ekle:
Python:
        if self.wndCharacter:
            self.wndCharacter.Close()
        else:
            if self.wndCharacter:
                self.wndCharacter.Hide()
 
Döktürüyorsunuz. :) Sadece bir kısımda eksik varmış diğer kısımlar zaten sistemde değiştirilmiş vaziyette. Eksik kısım ise burasıymış.

Kod:
Genişlet Daralt Kopyala
        if self.wndChat:
            self.wndChat.Destroy()

Altına ekle:
Python:
        if self.wndCharacter:
            self.wndCharacter.Close()
        else:
            if self.wndCharacter:
                self.wndCharacter.Hide()
Estağfirullah, sorunun çözülmesine sevindim :) Dolayısıyla konuyu kapatıyorum, iyi çalışmalar
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst