- Mesaj
- 370
- Çözümler
- 20
- Beğeni
- 696
- Puan
- 839
- Ticaret Puanı
- 0
Aldığım syserr
ui.py İlgili kod Satırı :
Şimdiden teşekkürler Ve bir konudan alındı yapmak isterim @Whistle Arkadaşın verdiği fikir
Şimdiden teşekkür ederim yardımcı olacak arkadaşlara iyi forumlar iyi günler dilerim
Syserr:
1004 02:18:35851 :: Traceback (most recent call last):
1004 02:18:35851 :: File "ui.py", line 4126, in OnMouseLeftButtonUp
1004 02:18:35851 :: AttributeError
1004 02:18:35851 :: :
1004 02:18:35851 :: 'module' object has no attribute 'SetRefineStatus'
1004 02:18:35851 ::
ui.py İlgili kod Satırı :
ui.py:
def OnMouseLeftButtonUp(self):
if self.checkImage:
if self.checkImage.IsShow():
self.checkImage.Hide()
if self.eventFunc["ON_UNCKECK"]:
apply(self.eventFunc["ON_UNCKECK"], self.eventArgs["ON_UNCKECK"])
systemSetting.SetRefineStatus(False)
else:
self.checkImage.Show()
if self.eventFunc["ON_CHECK"]:
apply(self.eventFunc["ON_CHECK"], self.eventArgs["ON_CHECK"])
systemSetting.SetRefineStatus(True)
Şimdiden teşekkürler Ve bir konudan alındı yapmak isterim @Whistle Arkadaşın verdiği fikir
Bunu Client Source ye koyduğum zaman PythonSystem.h Kısmı hariç geri kalan kısımlar'da error alıyorum belki yanlış yapıyor olabilirim tam fikrim yokSistem dosyalarını inceledim şimdi. ui.py ekleyin dediği kodda SetRefineStatus kullanılmış ama src tarafında nasıl eklenildiği yazmamış.
Python:if self.eventFunc["ON_UNCKECK"]: apply(self.eventFunc["ON_UNCKECK"], self.eventArgs["ON_UNCKECK"]) systemSetting.SetRefineStatus(False)
True ve False değer aldığı için isterseniz bunu kendinizde ekleyebilirsiniz. Sırasıyla şu adımları uygulayın.
Not: Kodları denemedim. Forumun editöründe yazarak ilerledim. Umarım bi sorun çıkmaz.
PythonSystem.h, TConfig'e şunu ekleyin;
C++:bool bRefineStatus;
Daha sonra fonksiyonların olduğu kısıma şunları ekleyin;
C++:bool IsRefineStatus(); void SetRefineStatus(int iFlag);
PythonSystem.cpp şu fonksiyonları ekleyin;
C++:void CPythonSystem::SetRefineStatus(int iFlag) { m_Config.bRefineStatus = iFlag == 1 ? true : false; } bool CPythonSystem::IsRefineStatus() { return m_Config.bRefineStatus; }
void CPythonSystem::SetDefaultConfig()
fonksiyonunun içerisinde alt kısıma şunu ekleyin;
C++:m_Config.bRefineStatus = false;
bool CPythonSystem::LoadConfig()
fonksiyonunun içerisinde else if else if şeklinde devam eden koşulların en altına şunu ekleyin;
C++:else if (!stricmp(command, "REFINE_STATUS")) m_Config.bRefineStatus = atoi(value) == 1 ? true : false;
bool CPythonSystem::SaveConfig()
fonksiyonun içerisinde if if şeklinde devam eden koşulların altına şunu ekleyin;
C++:if (m_Config.bRefineStatus == 0) fprintf(fp, "REFINE_STATUS %d\n", m_Config.bRefineStatus);
PythonSystemModule.cpp'ye şunları ekleyin;
C++:PyObject * systemIsRefineStatus(PyObject * poSelf, PyObject * poArgs) { return Py_BuildValue("i", CPythonSystem::Instance().IsRefineStatus()); } PyObject * systemSetRefineStatus(PyObject * poSelf, PyObject * poArgs) { int iFlag; if (!PyTuple_GetInteger(poArgs, 0, &iFlag)) return Py_BuildException(); CPythonSystem::Instance().SetRefineStatus(iFlag); return Py_BuildNone(); }
Dosyanın alt kısımlarında python modülleri kısımı var. Şunları da müsahit bir yere ekleyin;
C++:{ "SetRefineStatus", systemSetRefineStatus, METH_VARARGS }, { "IsRefineStatus", systemIsRefineStatus, METH_VARARGS },
Şimdiden teşekkür ederim yardımcı olacak arkadaşlara iyi forumlar iyi günler dilerim