Page 1 of 1

Win7 x64 and PB4.6 x86

Posted: Thu Jan 05, 2012 8:57 am
by dige
hi folks,

I'd like to use PB 32Bit on a Win7 64 Bit system with 8GB RAM.
Although it seems that is possible to do that, I'll got some
problems:

- debugging is not possible, the debugger can't communicate with the executable
- with ram size > 4GB you'll get negative or wrong return values,
for example: AvailableScreenMemory() and 4.3gb free DX mem.

But what to do now???

64 Bit is the future, but 32 Bit is still more widespreaded and runs under 64 Bit too.
So I'd like continue develop x86 apps.

@PB-Team: What is your opinion? Should the 32-bit IDE also run correctly on x64, should'nt it?!

Ciao dige

Re: Win7 x64 and PB4.6 x86

Posted: Thu Jan 05, 2012 9:51 am
by Kuron
It sounds like you are not installing it properly or you do not have permission to access the directories you are trying to access (UAC).

1. It helps to remember that 64-bit versions of Windows do not support 32-bit programs. 64-bit versions of Windows run 32-bit software via emulation using WOW64.

If you are using a 64-bit version of Windows, you must install the 32-bit software in the proper location. This has been this way since XP 64-bit, so this is not something new that was added to Windows 7 64-bit.

By default, on a 32-bit versions of Windows, the 32-bit version of PB will install itself to:

c:\Program Files\PureBasic

If the 32-bit version of PB tries to install itself to this same directory on a 64-bit version of Windows, this will not work because on a 64-bit version of Windows, c:\Program Files\ is limited to 64-bit programs only. On a 64-bit version of Windows, 32-bit programs must be installed in c:\Program Files (x86)\

I do NOT use the 64-bit version of Windows 7, so I don't know whether or not the 32-bit version of PureBasic will default install to c:\Program Files\PureBasic or c:\Program Files (x86)\PureBasic If your installation of the 32-bit version of PureBasic is installed in c:\Program Files\PureBasic on a 64-bit version of Windows, then it is indeed installed in the wrong place. You need to remove it and install it in c:\Program Files (x86)\PureBasic


2. On a 32-bit version of Windows 7, this could happen if you do not have admin privileges under the UAC. This should also happen on a 64-bit version of Windows, but I do not know how this would interact on a 64-bit version of Windows when trying to run 32-bit software.


Offhand, these are the only two things I can think of. Hopefully one of them will work for you. Once I get some sleep and the brain starts working again, maybe I can think of something else.

Re: Win7 x64 and PB4.6 x86

Posted: Thu Jan 05, 2012 10:18 am
by dobro
best:

PureBasic 4.60 install in a folder "c: \ PureBasic_4.60 \ 86 \" <- to compile 32-bit
PureBasic 4.60 install in a folder "c: \ PureBasic_4.60 \ 64 \" <- to compile 64-bit

PureBasic 4.51 install in a folder "c: \ PureBasic_4.51 \ 86 \" <- to compile 32-bit
PureBasic 4.51 install in a folder "c: \ PureBasic_4.51 \ 64 \" <- to compile 64-bit

PureBasic 4.00 install in a folder "c: \ PureBasic_4.00 \ 86 \" <- to compile 32-bit
PureBasic 4.00 install in a folder "c: \ PureBasic_4.51 \ 64 \" <- to compile 64-bit

etc. .....

for multiple versions installed together on the same computer ;)
patented XP / Win7 64

Re: Win7 x64 and PB4.6 x86

Posted: Thu Jan 05, 2012 10:55 am
by Fred
Why not using the 64 bit IDE ?

Re: Win7 x64 and PB4.6 x86

Posted: Thu Jan 05, 2012 6:26 pm
by freak
The 32bit version of PureBasic (including IDE and debugger) works just fine here on my Win7 64bit with 8gb of ram.

About the debugger communication:
What message do you get? Maybe installing in a different directory helps (if it is an emulation/rights issue)

About AvailableScreenMemory():
We could change the function to return a quad, but the API used is limited to an unsigned integer, so this would still return wrong values if more than 4gb are available.

Re: Win7 x64 and PB4.6 x86

Posted: Thu Jan 05, 2012 6:33 pm
by Ramihyn_
freak wrote:The 32bit version of PureBasic (including IDE and debugger) works just fine here on my Win7 64bit with 8gb of ram.
Same here for PB 4.51 32bit. On two different machines with Vista 64bit and Win7 64bit with 8gb Ram each.

I am starting the IDE with admin rights though.

Re: Win7 x64 and PB4.6 x86

Posted: Thu Jan 05, 2012 7:57 pm
by Danilo
Works here too, Win7 64bit 8GB RAM and PB4.60 32+64bit.

Of course all programs installed to d:\ and e:\ :D

Can you or DirectX access more than 4GB mem in a 32bit application?
My graphics card has "only" 2GB mem and it shows correctly 1,8GB free here,
so can't test.
Try mem.q = AvailableScreenMemory() & $FFFFFFFF

Re: Win7 x64 and PB4.6 x86

Posted: Fri Jan 06, 2012 8:56 pm
by dige
Reinstall outside "Program Files" have solved the problem ... thank you guys!

Code: Select all

mem.q = AvailableScreenMemory() & $FFFFFFFF
Thx Danilo, thats a good workaround...