Domanda problema system

Stato
Discussione chiusa ad ulteriori risposte.

ThunderNatsu

Utente Bronze
31 Luglio 2017
98
12
21
44
salve ho un problema con l'implementazione di un system ho messo tutto e compilato senza problemi ma quando cerco di loggare crasha e mi da sto errore

CombatZoneWindow.Initialize.BindObject - <type 'exceptions.AttributeError'>:'module' object has no attribute 'COMBAT_ZONE_TYPE_RANKING_WEEKLY'

qualcuno sa come risolvere?
 
salve ho un problema con l'implementazione di un system ho messo tutto e compilato senza problemi ma quando cerco di loggare crasha e mi da sto errore

CombatZoneWindow.Initialize.BindObject - :'module' object has no attribute 'COMBAT_ZONE_TYPE_RANKING_WEEKLY'

qualcuno sa come risolvere?
Cerca questo COMBAT_ZONE_TYPE_RANKING_WEEKLY nella guida tutorial (source launcher) e vedi dove andrebbe messo in quanto lo hai saltato..
Probabilmente va in qualche file Python____Module.cpp (al posto dei tratti bassi va qualcosa).


Inviato dal mio LG-H870 utilizzando Tapatalk
 
ho cercato i file sono

source game

combat_zone.cpp
CCombatZoneManager::instance().RequestRanking(ch, COMBAT_ZONE_TYPE_RANKING_WEEKLY);

combat_zone.h
COMBAT_ZONE_TYPE_RANKING_WEEKLY = 1,

source louncher

PythonCombatZone.cpp
PyModule_AddIntConstant(poModule, "COMBAT_ZONE_TYPE_RANKING_WEEKLY", COMBAT_ZONE_TYPE_RANKING_WEEKLY);

PythonCombatZone.h

COMBAT_ZONE_TYPE_RANKING_WEEKLY = 1,


client root

uicombat_zone.py
net.COMBAT_ZONE_TYPE_RANKING_WEEKLY : GetObject("tab_01"),

questo e quelloche ho cercato con quell'errore nei file e nei file nei source e nel client e ci sono entrambi
 
ho cercato i file sono

source game

combat_zone.cpp
CCombatZoneManager::instance().RequestRanking(ch, COMBAT_ZONE_TYPE_RANKING_WEEKLY);

combat_zone.h
COMBAT_ZONE_TYPE_RANKING_WEEKLY = 1,

source louncher

PythonCombatZone.cpp
PyModule_AddIntConstant(poModule, "COMBAT_ZONE_TYPE_RANKING_WEEKLY", COMBAT_ZONE_TYPE_RANKING_WEEKLY);

PythonCombatZone.h

COMBAT_ZONE_TYPE_RANKING_WEEKLY = 1,


client root

uicombat_zone.py
net.COMBAT_ZONE_TYPE_RANKING_WEEKLY : GetObject("tab_01"),

questo e quelloche ho cercato con quell'errore nei file e nei file nei source e nel client e ci sono entrambi

Allora qualcosa non quadra...
uicombat_zone.py
net.COMBAT_ZONE_TYPE_RANKING_WEEKLY : GetObject("tab_01")

Qui cerca :

net.COMBAT_ZONE_TYPE_RANKING_WEEKLY

Come se COMBAT_ZONE_TYPE fosse in PythonNetworkStreamModule.cpp

Ma tu lo hai trovato solo in quei file a quanto mi dici quindi quindi la constante python è definita altrove (non appartiene quindi al modulo net)

Ora in PythonCombatZone.cpp hai detto di aver trovato quel nome preceduto da PyModule_AddIntConstant che altro non è che una dichiarazione di una constante in python...
Ora all interno di questo file dovresti trovare il nome del modulo che definisce... Ad esempio in
PythonNetworkStreamModule.cpp trovi che il modulo si chiama "net" (ti invito a cercare net con apici intorno e vedrai che lo trovi) mentre nel file PythonCombatZone.cpp si chiamerà probabilmente "combatzone" (se hanno rispettato il lowercase usato fin ora da ymir per moduli python scritti in cpp), altrimenti prova a cercare poModule in tutto il file, dovresti trovare il punto in cui lo definisce (con = quindi) e li troverai il nome del modulo.

Dopo aver trovato il nome del modulo dovrai sostituirlo nel punto in uicombat_zone.py che mi hai mostrato prima al posto di net

Inviato dal mio LG-H870 utilizzando Tapatalk
 
ho cercato "net"
sta solo in PythonCombatZone.cpp

PyObject* poModule = Py_InitModule("net", s_methods);

poi ho cercato net.COMBAT_ZONE_TYPE_RANKING_WEEKLY

sta in uicombatzone.py in root


self.main['window']['selectedPage']['btnSelectWeekly'].SAFE_SetEvent(self.OnClickToggleRanking, net.COMBAT_ZONE_TYPE_RANKING_WEEKLY)
 
ho cercato "net"
sta solo in PythonCombatZone.cpp

PyObject* poModule = Py_InitModule("net", s_methods);

poi ho cercato net.COMBAT_ZONE_TYPE_RANKING_WEEKLY

sta in uicombatzone.py in root


self.main['window']['selectedPage']['btnSelectWeekly'].SAFE_SetEvent(self.OnClickToggleRanking, net.COMBAT_ZONE_TYPE_RANKING_WEEKLY)
Hai aggiunto il file al progetto correttamente prima di ricompilare il launcher?
Quel file va incluso affinché venga compilato.
In più dovresti aver aggiunto in StdAfx.h e UserInterface.cpp una init , dammi conferma di aver editato correttamente questi due file.

Inviato dal mio LG-H870 utilizzando Tapatalk
 
in stdafx.h


void initMessenger();
#if defined(WJ_COMBAT_ZONE) <---- c'è
void initCombatZoneSystem();
#endif
#ifdef ENABLE_SASH_SYSTEM
void initSash();
#endif

userinterface.cpp


#ifdef NEW_PET_SYSTEM
initskillpet();
#endif
initquest();
initBackground();
initMessenger();
#if defined(WJ_COMBAT_ZONE) <---- c'è
initCombatZoneSystem();
#endif
#ifdef ENABLE_SASH_SYSTEM
initSash();
#endif

userinterface.vcxproj

<ClCompile Include="..\..\source\UserInterface\PythonCombatZone.cpp" /> < è il file in piu che ho messo
 
Quindi ricapitolando:
Il file PythonCombatZone.cpp viene compilato?
Il file PythonCombatZone.cpp definisce metodi e costanti nel modulo net?
Hai sostituito il launcher vecchio con quello nuovo nel client?

Se la risposta è a tutte si , una di queste cose la sbagli senza saperlo..In quanto il tipo di errore che da è dovuto necessariamente a una di queste cose.
 
io ho compilato tutto senza errori ma solo dopo aver fatto tutto nel client da questo errore e ho sostituito il vecchio launcher con quello compilato con questo "system"
Messaggio unito automaticamente:




qui ci sono i due file

PythonCombatZone.cpp

PythonCombatZone.h
 
Nessuna di quelle tre domande in caso fosse la risposta "no" darebbe errori di compilazione, per quello ho escluso tutto il resto e rimangono solo quelle come cause...

Ecco cosa ti consiglio :
Copia "momentaneamente" il contenuto del file in "PythonCombatZone.cpp" (tutto) alla fine del file "PythonNetworkStreamModule.cpp"
E' SOLO UN TEST per vedere se il problema è la "non-compilazione" del file in questione. Se ricompilando così da lo stesso errore allora possiamo escludere quella ipotesi e vedere le altre.
 
Ultima modifica:
ora ti dico ho messo il contenuto del file pythoncombatzone.cpp alla fine del file pythonnetworkstreammodule.cpp
Messaggio unito automaticamente:

ora da come errore di compilazione


Error 1 error C2011: 'CAccountConnector' : 'class' type redefinition percorso\combat zone (official webzen 16.4) [v.0.2.0]\source client\source\userinterface\AccountConnector.h 6 1 UserInterface

Error 2 error C2079: 'CPythonApplication::m_kAccountConnector' uses undefined class 'CAccountConnector' percorso\combat zone (official webzen 16.4) [v.0.2.0]\source client\source\userinterface\PythonApplication.h 359 1 UserInterface
 
ora ti dico ho messo il contenuto del file pythoncombatzone.cpp alla fine del file pythonnetworkstreammodule.cpp
Messaggio unito automaticamente:

ora da come errore di compilazione


Error 1 error C2011: 'CAccountConnector' : 'class' type redefinition percorso\combat zone (official webzen 16.4) [v.0.2.0]\source client\source\userinterface\AccountConnector.h 6 1 UserInterface

Error 2 error C2079: 'CPythonApplication::m_kAccountConnector' uses undefined class 'CAccountConnector' percorso\combat zone (official webzen 16.4) [v.0.2.0]\source client\source\userinterface\PythonApplication.h 359 1 UserInterface
Devi togliere gli include in comune tra i due file che hai unito

Commentali e basta per non perderli

Inviato dal mio LG-H870 utilizzando Tapatalk
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom