Incompatibilties after version 6.00

Just starting out? Need help? Post your questions and find answers here.
GenMax5
New User
New User
Posts: 4
Joined: Mon Apr 01, 2024 8:58 pm

Incompatibilties after version 6.00

Post by GenMax5 »

Good afernoon. I have been programming my chess program GenMax with Purebasic for many years. Since I upgraded to Version 6.1 onwards, I am having problems with bad results compared to the 6.0 compilation (which works fine).

I initialized all the variables and the problems continue. For example, using the last version (6.10) I noticed a move counter doesn't work. It used to work perfectly. What can be the incompatibility?

Thank you very much.
Claudio Bollini
Quin
Addict
Addict
Posts: 1131
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

Re: Incompatibilties after version 6.00

Post by Quin »

It's hard to say without your code/a description of what the problem is, but my guess is trying to store a 64-bit pointer in a 32-bit container or similar. I've seen multiple topics about this issue, like: https://www.purebasic.fr/english/viewto ... 01#p617401
GenMax5
New User
New User
Posts: 4
Joined: Mon Apr 01, 2024 8:58 pm

Re: Incompatibilties after version 6.00

Post by GenMax5 »

GenMax has almost 24000 lines of code, so it is very heavy to share, even the supect portions.

I don't use pointers in the program. The counter variable that has issues (surely there are more over there) is a global integer variable.

I also checked the link you sent me and there are no long integer variables in my code. I only use integer anf float types (as well as strings). My compiler always was of 64b.

If it used to work ok in version 6.00, what could have changed in the following versions to make it incompatible now?

Thank you very much
Claudio Bollini
Quin
Addict
Addict
Posts: 1131
Joined: Thu Mar 31, 2022 7:03 pm
Location: Colorado, United States
Contact:

Re: Incompatibilties after version 6.00

Post by Quin »

Truthfully I have absolutely no idea, can you describe what exactly it does? Like, it doesn't work, but how? What exactly doesn't work about it? Does it crash on a certain line? Does it hang? Is a feature broken? Etc.
DarkDragon
Addict
Addict
Posts: 2344
Joined: Mon Jun 02, 2003 9:16 am
Location: Germany
Contact:

Re: Incompatibilties after version 6.00

Post by DarkDragon »

Did you use EnableExplicit at the very beginning? A global counter not counting sounds to me like a second instance or the conditions around the increments are never met.
bye,
Daniel
User avatar
Caronte3D
Addict
Addict
Posts: 1355
Joined: Fri Jan 22, 2016 5:33 pm
Location: Some Universe

Re: Incompatibilties after version 6.00

Post by Caronte3D »

I think... Better stay with the old version of PB you used for this project and change it to the latest one only for the next project.
BarryG
Addict
Addict
Posts: 4139
Joined: Thu Apr 18, 2019 8:17 am

Re: Incompatibilties after version 6.00

Post by BarryG »

I initially had several issues switching from 6.04 to 6.10 with my big app (62000+ lines), but now it's all working as intended after some deep source-checking and help from users here.

Your problem sounds like an easy one, though - a counter isn't working? Sounds like no big deal to fix. My app had actual real issues with memory crashing, and pointers, and wrong-sized variables. So how is your move counter incremented? In a thread? Outside one? What type of variable is it (Global, Protected, etc)? And is it defined as a long or integer? We need more info.
GenMax5
New User
New User
Posts: 4
Joined: Mon Apr 01, 2024 8:58 pm

Re: Incompatibilties after version 6.00

Post by GenMax5 »

Thank you very much for your kind remarks.

Quin and BarryG:

When I say that the counter does not work, I mean that after correctly assigning = 1, it freezes at this value. I repeat that until version 6.0, it worked perfectly. (It was already implemented long ago). And I'm sure that there are a lot of variables over there that dosen't work propely (as it does runing at version 6).

Darkdragon:

I did not have declared "enableexplicit" . So I'm slowly declaring all the non-global variable throughout the 24000 lines of code. I'll let you know if I succeed.

Caronte3D

Yes, that's my plan B. I've seen that, despite the incompatibilities, version 6.10 is faster and better.

Thank you all very much!
Claudio Bollini
Post Reply