Page 2 of 4
Re: 32bit or 64bit for compatibility?
Posted: Sun Jul 03, 2016 5:16 am
by NoahPhense
Hey Demi.., thanks for your input..
Demivec wrote:Here's how I treat the beta releases.
Following the pattern already shown I use these folders:
I install them in the corresponding directory, overwriting any previous installation. This allows me to set up a shortcut to launch them that will always run the most recent beta. After the release is finalized the beta is never used until the next version is tested.
Ok, let's see if I am following you correctly. For your betas, you are using the structure you've listed above. That is where you currently have 5.50 Beta 1 installed?
Where do you put 5.50 when it has been finalized? What structure are you using then? (something like the below?)
C:\pb\ ???? \5_50\32
C:\pb\ ???? \5_50\64
Demivec wrote:
Withe both the final releases and the beta versions, I execute them with the '\PORTABLE' switch. This stores their settings in the directories where they are executed from and prevents different versions from conflicting with each other. Any user preferences can be migrated from previous versions.
Never knew about the portable switch. I will totally start using that!
I do have a couple more questions for you, but they will be based on your answers from above
- np
Re: 32bit or 64bit for compatibility?
Posted: Sun Jul 03, 2016 5:00 pm
by Demivec
NoahPhense wrote:Where do you put 5.50 when it has been finalized? What structure are you using then? (something like the below?)
C:\pb\ ???? \5_50\32
C:\pb\ ???? \5_50\64
I would put them under
Re: 32bit or 64bit for compatibility?
Posted: Sun Jul 03, 2016 5:15 pm
by NoahPhense
I know I have beat this to death a bit, but I believe I have settled on this structure:
C:\pb\550b1\64\
C:\pb\550b1\32\
I don't have 542 installed, but if I did, it would be as such:
C:\pb\542LTS\64\
C:\pb\542LTS\32\
This way, as I move forward with beta or LTS -- I can keep everything at the same level (c:\pb\xx\64\ and c:\pb\xx\32\).
Also, hanging onto old betas until I am happy with the new betas, etc..
As well as using the /portable option for each install.
Thanks again all for your help.
Cheers!
- np
Re: 32bit or 64bit for compatibility?
Posted: Wed Jul 13, 2016 1:52 am
by NoahPhense
Ok, back with a quickie ... I'm sure it has to do with the registry.
I have created my main shortcut to pb, using the /portable option.. named "pb 5.50 b2 (64)" .. which sits in three places.
1. in a PB folder on my desktop
2. on my taskbar
3. in my "start screen" (win 8.1)
I would like to just double click a .pb, .pbi, .pbp, etc.. and have it open PB, and it does, but it does not open using the /portable, I'm certain I need to do a reg hack for this. I'll start looking in the reg., I would hate to have to go to each pb file ext in the reg and manually make adjustments.
- np
**edit #1**
I think I just need to edit this key:
HKEY_CLASSES_ROOT\Applications\PureBasic.exe\shell\open\command
Which has a default key value of:
"C:\pb\550b2\64\PureBasic.exe" "%1"
**edit #2**
Yup.. that was the key. Changed it to:
"C:\pb\550b2\64\PureBasic.exe" "%1" "/portable"
Re: 32bit or 64bit for compatibility?
Posted: Thu Jul 14, 2016 9:45 am
by Joris
I post it in this topic as it is quit related (imo).
SetGadgetItemData() and GetGadgetItemData() is very usefull to store values at runtime, but on a 32-bit system (I thought) it can maximum store a long, and so an adress (a memory-position).
How is the length/size of SetGadgetItemData() on a 64-bit system ?
Thanks.
Re: 32bit or 64bit for compatibility?
Posted: Thu Jul 14, 2016 11:41 am
by Demivec
Joris wrote:SetGadgetItemData() and GetGadgetItemData() is very usefull to store values at runtime, but on a 32-bit system (I thought) it can maximum store a long, and so an adress (a memory-position).
How is the length/size of SetGadgetItemData() on a 64-bit system ?
Both are an integer (i.e. a pointer size). For 64-bit this would be the size of a quad.
Re: 32bit or 64bit for compatibility?
Posted: Thu Jul 14, 2016 8:27 pm
by HeX0R
I have quite some shortcuts to different versions of PB and to make sure none of them scramble my main preferences, but can use all of my templates and the same tools, I use always this as command parameter (Windows):
Code: Select all
/PORTABLE /A "%APPDATA%\PureBasic\Tools.prefs" /T "%APPDATA%\PureBasic\Templates.prefs"
Re: 32bit or 64bit for compatibility?
Posted: Thu Jul 14, 2016 8:40 pm
by NoahPhense
HeX0R wrote:I have quite some shortcuts to different versions of PB and to make sure none of them scramble my main preferences, but can use all of my templates and the same tools, I use always this as command parameter (Windows):
Code: Select all
/PORTABLE /A "%APPDATA%\PureBasic\Tools.prefs" /T "%APPDATA%\PureBasic\Templates.prefs"
OMG, that is badas$, I will be utilizing that. Where can I read up on the possible command line params for the pb.exe?
Cheers!
- np
Re: 32bit or 64bit for compatibility?
Posted: Thu Jul 14, 2016 8:54 pm
by Keya
HeX0R! Ive always wondered about that - every time i update PB i have to reinstall the Tools which is annoying. It sounds like what you just mentioned is a good solution!

Re: 32bit or 64bit for compatibility?
Posted: Thu Jul 14, 2016 10:39 pm
by HeX0R
NoahPhense wrote:
OMG, that is badas$, I will be utilizing that. Where can I read up on the possible command line params for the pb.exe?
Cheers!
- np
In your manual, or
online
Re: 32bit or 64bit for compatibility?
Posted: Thu Jul 14, 2016 10:43 pm
by Bisonte
HeX0R wrote:I have quite some shortcuts to different versions of PB and to make sure none of them scramble my main preferences, but can use all of my templates and the same tools, I use always this as command parameter (Windows):
Code: Select all
/PORTABLE /A "%APPDATA%\PureBasic\Tools.prefs" /T "%APPDATA%\PureBasic\Templates.prefs"
Genius

Re: 32bit or 64bit for compatibility?
Posted: Fri Jul 15, 2016 4:20 am
by NoahPhense
Sweet. thanks!
- np
Re: 32bit or 64bit for compatibility?
Posted: Fri Jul 15, 2016 11:03 pm
by Lunasole
I realized there is no sense to compile x64 binaries instead of x32. In most cases this not gives much performance on modern processors (I don't remember cases where it was giving such performance at all), just leads to much larger memory consumption, also breaks any compatibility with previous hardware and software. And what is important too - you have to drag both x64 and x32 versions of code, instead of x32 only ^^
Surely there are also cases when x64 is really needed (when your program need to interact with other x64 libraries, or it needs much more than 3GB RAM), but they are rare even in 2016.
Opera for example also thinks so, they just not release x64 version of browser (with old cool Opera 12 they did that, but that really was stupid - for some time I've used it thinking it will be better, but just more RAM wasted showing speed results in tests same as x32 version).
Re: 32bit or 64bit for compatibility?
Posted: Sat Jul 16, 2016 3:08 pm
by Lord
Lunasole wrote:I realized there is no sense to compile x64 binaries instead of x32.
...
Most of the time, when an AntiVirus-Pgm raises warnings for a
32-bit-version of a PB-Pgm, a 64-bit-version of the same code
lets the AV-Pgm be quiet.
But this is not helpful for a 32-bit OS.

Re: 32bit or 64bit for compatibility?
Posted: Sat Jul 16, 2016 6:00 pm
by NoahPhense
32bit OS will be obsolete soon. I am glad that I have the ability to compile to both 32 and 64 bit. You should be more concerned about Fred's health. So that this awesome language is always available to us.
Cheers!
- np