Çözüldü K Envanter Syserr sorunu

  • Konuyu açan Konuyu açan Enes Deniz
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 17
  • Gösterim Gösterim 903
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ı.

Enes Deniz

www.SixTails.com.tr
Geliştirici
Usta Üye
Mesaj
370
Çözümler
20
Beğeni
696
Puan
839
Ticaret Puanı
0
Aldığım syserr

Syserr:
Genişlet Daralt Kopyala
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:
Genişlet Daralt Kopyala
    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

Sistem dosyalarını inceledim şimdi. ui.py ekleyin dediği kodda SetRefineStatus kullanılmış ama src tarafında nasıl eklenildiği yazmamış.
Python:
Genişlet Daralt Kopyala
                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. :D Umarım bi sorun çıkmaz.

PythonSystem.h, TConfig'e şunu ekleyin;
C++:
Genişlet Daralt Kopyala
            bool                bRefineStatus;


Daha sonra fonksiyonların olduğu kısıma şunları ekleyin;
C++:
Genişlet Daralt Kopyala
bool                            IsRefineStatus();
void                            SetRefineStatus(int iFlag);


PythonSystem.cpp şu fonksiyonları ekleyin;
C++:
Genişlet Daralt Kopyala
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++:
Genişlet Daralt Kopyala
    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++:
Genişlet Daralt Kopyala
        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++:
Genişlet Daralt Kopyala
    if (m_Config.bRefineStatus == 0)
        fprintf(fp, "REFINE_STATUS        %d\n", m_Config.bRefineStatus);


PythonSystemModule.cpp'ye şunları ekleyin;
C++:
Genişlet Daralt Kopyala
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++:
Genişlet Daralt Kopyala
        { "SetRefineStatus",                    systemSetRefineStatus,                METH_VARARGS },
        { "IsRefineStatus",                     systemIsRefineStatus,                 METH_VARARGS },
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 yok
Şimdiden teşekkür ederim yardımcı olacak arkadaşlara iyi forumlar iyi günler dilerim
 
Çözüm
PythonSystemModule.cpp'ye şunları ekleyin. Alıntıladığınız mesajda mevcut hatta

C++:
Genişlet Daralt Kopyala
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();
}
Hangi K envanterini eklemeye çalışıyorsunuz?
 
Aynısı bende ekli de böyle hatayla karşılaşmadım. Birazdan PC geçerim dosyayı atarım.
 
Aldığınız hatayı paylaşırsanız belki sorunu anlayabiliriz. :)
 
Ekran Alıntısı55555.PNG

Diğer errorları kapattım yanlış yere eklemişim ama bunu bulamadım
Aldığınız hatayı paylaşırsanız belki sorunu anlayabiliriz. :)
 
PythonSystemModule.cpp'ye şunları ekleyin. Alıntıladığınız mesajda mevcut hatta

C++:
Genişlet Daralt Kopyala
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();
}
 
Çözüm
PythonSystemModule.cpp'ye şunları ekleyin. Alıntıladığınız mesajda mevcut hatta

C++:
Genişlet Daralt Kopyala
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();
}
Bunları ekledim
 
Aldığınız hata bunlarla ilgili. Doğru yerde olduğuna emin misiniz?
 
Alpemix varmış bende. Özel mesaj ile gönderebilirsiniz.
 
Gözden kaçan neymiş? :D
Kod:
Genişlet Daralt Kopyala
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();
}

Bu kod satırını yanlış yere yapmam :D
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Üst