*Problemă/Întrebare:
Salut, am o problemă după adăugarea propriului text „Canal” în fișierul locale_game.txt.
După efectuarea acestei modificări apare o eroare.
*Resursă folosită (sistem/funcție/modificare):
Cod modificat:
Fișier: localgame.txt
CHANNEL_STATUS_OFF test
CHANNEL_STATUS_NORMAL Normal
CHANNEL_STATUS_BUSY Busy
CHANNEL_STATUS_FULL Full
Fișier: Loginwindow.py
{
"name": "Channel1Button",
"type": "radio_button",
"x": 10,
"y": 10,
"default_image": "d:/ymir work/ui/public/large_button_01.sub",
"over_image": "d:/ymir work/ui/public/large_button_02.sub",
"down_image": "d:/ymir work/ui/public/large_button_03.sub",
"color": 4294281095L,
"text": ".....",
},
Fișier: Intrologin.py
STATE_DICT = {
0:localeInfo.CHANNEL_STATUS_OFF,
1:localeInfo.CHANNEL_STATUS_NORMAL,
2:localeInfo.CHANNEL_STATUS_BUSY,
3:localeInfo.CHANNEL_STATUS_FULL
}
self.channelButtonList = []
self.channelButtonList.append(GetObject("Channel1Button"))
self.channelButtonList.append(GetObject("Channel2Button"))
self.channelButtonList.append(GetObject("Channel3Button"))
self.channelButtonList.append(GetObject("Channel4Button"))
def NotifyChannelState(self, addrKey, state):
if addrKey-1 < len(self.channelButtonList):
status = STATE_DICT.get(state, STATE_DICT[0])
self.channelButtonList[addrKey-1].SetText(localeInfo.CHANNEL + " %d (%s)" % (addrKey, status))
*Syserr:
0316 06:10:00521 :: mouseModule:357: RuntimeWarning: tp_compare didn't return -1 or -2 for exception
0316 06:10:00521 :: Traceback (most recent call last):
0316 06:10:00521 :: File "mouseModule.py", line 357, in Update
0316 06:10:00521 :: TypeError
0316 06:10:00521 :: :
0316 06:10:00521 :: an integer is required
0316 06:10:00521 ::
*Fișier(e) cu problema (link pastebin / code):
*Poze / Video:
Salut,
[FIX] TypeError: an integer is required după modificare CHANNEL
Problemă
După modificarea locale_game.txt pentru a adăuga text custom la „Canal”, apare următoarea eroare în syserr:
Eroarea NU este direct de la locale_game.txt, ci din codul Python care folosește valorile respective.
Sunt 3 probleme posibile:
1. Lipsă CHANNEL în locale_game.txt
Codul folosește:
Linia:
De aici vine:
Dacă valoarea nu este găsită în STATE_DICT, %s poate primi None.
FIX COMPLET
✔ Adaugă în locale_game.txt:
Problema apare din:
lipsa CHANNEL în locale
addrKey nu este int
posibil status invalid
Sfat
Când lucrați cu localeInfo:
verificați că toate cheile există
validați tipurile de date
folosiți conversii defensive (int, str)
Succes
Daca apar probleme, revino cu reply si vom incerca sa te ajutam in continuare !!!
[FIX] TypeError: an integer is required după modificare CHANNEL
Problemă
După modificarea locale_game.txt pentru a adăuga text custom la „Canal”, apare următoarea eroare în syserr:
Traceback:TypeError: an integer is required
Cauza problemeimouseModule.py", line 357, in Update
Eroarea NU este direct de la locale_game.txt, ci din codul Python care folosește valorile respective.
Sunt 3 probleme posibile:
1. Lipsă CHANNEL în locale_game.txt
Codul folosește:
Dar în locale_game.txt există doar:localeInfo.CHANNEL
Lipsește:CHANNEL_STATUS_OFF test
CHANNEL_STATUS_NORMAL Normal
CHANNEL_STATUS_BUSY Busy
CHANNEL_STATUS_FULL Full
2. addrKey nu este integerCHANNEL Canal
Linia:
va da eroare dacă addrKey este string.addrKey-1
De aici vine:
3. status poate fi NoneTypeError: an integer is required
Dacă valoarea nu este găsită în STATE_DICT, %s poate primi None.
FIX COMPLET
✔ Adaugă în locale_game.txt:
Modifică funcția:CHANNEL Canal
Concluziedef NotifyChannelState(self, addrKey, state):
try:
addrKey = int(addrKey)
except:
return
if addrKey-1 < len(self.channelButtonList):
status = str(STATE_DICT.get(state, STATE_DICT[0]))
self.channelButtonList[addrKey-1].SetText("%s %d (%s)" % (localeInfo.CHANNEL, addrKey, status))
Problema apare din:
lipsa CHANNEL în locale
addrKey nu este int
posibil status invalid
Sfat
Când lucrați cu localeInfo:
verificați că toate cheile există
validați tipurile de date
folosiți conversii defensive (int, str)
Succes
Daca apar probleme, revino cu reply si vom incerca sa te ajutam in continuare !!!
Vă rog
-
Subiecte similare
Informații
Utilizatori ce navighează pe acest forum: Niciun utilizator înregistrat și 1 vizitator
Discord ID copiat:


