- Mesaj
- 2.779
- Çözümler
- 287
- Beğeni
- 2.023
- Puan
- 1.850
- Ticaret Puanı
- 2
Bu hata AFFECT_NUM 64 değeri aşıldığında karşılaşabileceğiniz bir hata NUM değerini arttırsanızda bu hata kalkmaz çünkü diğer dosyalarda 64 olarak ayarlanmış şekilde duruyor bunu nasıl düzenleyebilirsiniz bu konuda onu gösteriyorum
Syserri veren kod bloğu şu şekilde
AffectFlagContainer.cpp;
Burada uPos değeri var olan AFFECT_NUM'dan büyük ise veya eşit ise bu hatayı verdirtecek bir kod mevcut BYTE_SIZE değeri şuanda 8'e eşit
Burada BYTE_SIZE değerini yükseltecek herhangi bir değişiklik yapmanız gerekiyor isterseniz BIT_SIZE değerini yükseltin. İsterseniz oradaki matematik işlemini değiştirin
Yapmanız gereken sadece
Instancebase.h içindeki
AFFECT_NUM = 99 ise
Syserri veren kod bloğu şu şekilde
AffectFlagContainer.cpp;
AffectFlagContainer.cpp:
bool CAffectFlagContainer::IsSet(UINT uPos) const
{
if (uPos/8>=BYTE_SIZE)
{
TraceError("CAffectFlagContainer::IsSet(uPos=%d>%d", uPos, BYTE_SIZE*8);
return false;
}
const BYTE& c_rElement=m_aElement[uPos/8];
BYTE bMask=BYTE(1<<(uPos&7));
if (c_rElement&bMask)
return true;
return false;
}
Burada uPos değeri var olan AFFECT_NUM'dan büyük ise veya eşit ise bu hatayı verdirtecek bir kod mevcut BYTE_SIZE değeri şuanda 8'e eşit
CAffectFlagContainer:
enum
{
BIT_SIZE = 64,
BYTE_SIZE = BIT_SIZE/8+(1*((BIT_SIZE&7) ? 1 : 0)),
};
Burada BYTE_SIZE değerini yükseltecek herhangi bir değişiklik yapmanız gerekiyor isterseniz BIT_SIZE değerini yükseltin. İsterseniz oradaki matematik işlemini değiştirin
Yapmanız gereken sadece
Instancebase.h içindeki
AFFECT_NUM = xx,
değerini +1 geçecek şekilde ayarlamakAFFECT_NUM = 99 ise
BYTE_SIZE = BIT_SIZE/8+(1*(4*23),
Şeklinde yapabilirsiniz size kalmış birşey matematik kısmını istediğiniz gibi değiştirebilirsiniz.