Windows 8 Support
Windows 8 Support
Alright, I think its established that WinRT support and the new Windows Runtime is something that PB wont support. Tho the question is, will PB v5.00 support Windows 8? For such functions as compiler ifs, OSVersion(), etc? I know Windows 8 isn't released yet. But the Release Preview still carries the same base information required for determining if the OS is Windows 8 or not (NT 6.2). I think it would be a shame if v5.00 launches the same time as Windows 8 without the new OS supported.
Its Not A Bug, Its An Undocumented Feature!
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Re: Windows 8 Support
Hi Warmonger! You're right; as of now, PureBasic does not support the new Windows Runtime (both WinRT and Windows RT), but it should still work on Windows 8, and technically, even on the Surface Tablet Pro. The only compatibility issue is with Metro, which uses a COM-based API.Warmonger wrote:...WinRT support and the new Windows Runtime is something that PB wont support.
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 
Re: Windows 8 Support
Why are you going off topic?TI-994A wrote:Hi Warmonger! You're right; as of now, PureBasic does not support the new Windows Runtime (both WinRT and Windows RT), but it should still work on Windows 8, and technically, even on the Surface Tablet Pro. The only compatibility issue is with Metro, which uses a COM-based API.Warmonger wrote:...WinRT support and the new Windows Runtime is something that PB wont support.
Its Not A Bug, Its An Undocumented Feature!
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Re: Windows 8 Support
Did I miss something? How's it off topic?Warmonger wrote:Why are you going off topic?TI-994A wrote:Hi Warmonger! You're right; as of now, PureBasic does not support the new Windows Runtime (both WinRT and Windows RT), but it should still work on Windows 8, and technically, even on the Surface Tablet Pro. The only compatibility issue is with Metro, which uses a COM-based API.Warmonger wrote:...WinRT support and the new Windows Runtime is something that PB wont support.
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 
-
GoodNPlenty
- Enthusiast

- Posts: 112
- Joined: Wed May 13, 2009 8:38 am
- Location: Arizona, USA
Re: Windows 8 Support
I agree, Windows 8 will be available October 26th 2012 and to properly distinguish Windows 8 from other Windows operating systems we are relying on a workaround using current OSVersion() constants that will eventually break.
Code: Select all
If OSVersion() > #PB_OS_Windows_7 ; Probably Windows 8, but future compatibilty uncertain.
If OSVersion() = #PB_OS_Windows_Future ; Windows 8 currently, but this will probably change.
; We need a absolute definition such as:
#PB_OS_Windows_7 = 80
#PB_OS_Windows_8 = 90 ; It would be nice to define Windows 8 before 5.0 becomes final.
#PB_OS_Windows_Future = 100
Re: Windows 8 Support
Hi GoodNPlenty. Just as they've done for every OS release in the past, I'm sure that the version constant for Windows 8 will be added to PureBasic soon enough. Until then, we'll just have to use the #PB_OS_Windows_Future constant, as we've done before.
Alternatively, you can also use the Windows API function GetVersionEx():
Alternatively, you can also use the Windows API function GetVersionEx():
Code: Select all
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
osv.OSVERSIONINFO
osv\dwOSVersionInfoSize = SizeOf(OSVERSIONINFO)
GetVersionEx_(@osv)
os.s = Str(osv\dwMajorVersion)
os + "." + Str(osv\dwMinorVersion)
os + "." + Str(osv\dwBuildNumber)
CompilerEndIfTexas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 
-
GoodNPlenty
- Enthusiast

- Posts: 112
- Joined: Wed May 13, 2009 8:38 am
- Location: Arizona, USA
Re: Windows 8 Support
Thanks TI-994A for the GetVersionEX() example, that's a great workaround.
Re: Windows 8 Support
Correct, Microsoft has Windows 8 (build 9200 retail version) available for Fred or whoever to download here (lasts 90 days).GoodNPlenty wrote:I agree, Windows 8 will be available October 26th 2012 and to properly distinguish Windows 8 from other Windows operating systems we are relying on a workaround using current OSVersion() constants that will eventually break.
Code: Select all
If OSVersion() > #PB_OS_Windows_7 ; Probably Windows 8, but future compatibilty uncertain. If OSVersion() = #PB_OS_Windows_Future ; Windows 8 currently, but this will probably change. ; We need a absolute definition such as: #PB_OS_Windows_7 = 80 #PB_OS_Windows_8 = 90 ; It would be nice to define Windows 8 before 5.0 becomes final. #PB_OS_Windows_Future = 100
http://msdn.microsoft.com/en-us/evalcen ... 54510.aspx
Which should give them no excuse not to update the constants and parameters of other functions that rely on the OS. It would be terrible to see 5.00 release and not at least support the already existing functions.
Its Not A Bug, Its An Undocumented Feature!
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Re: Windows 8 Support
Hi Warmonger. Windows 8 has complete backwards compatibility with Windows 7. So, it will support all existing functions.Warmonger wrote:...Which should give them no excuse not to update the constants and parameters of other functions that rely on the OS. It would be terrible to see 5.00 release and not at least support the already existing functions.
Besides including a new OSVersion() constant for Windows 8, what are the other Windows-8-specific functions that need updating?
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 
Re: Windows 8 Support
Of course most of the existing functions will still work as Win32 hasn't changed any. Tho Windows 8 handles memory and other things a little differently then previous OS's. So you can expect there to be a few bugs down the line.TI-994A wrote:Hi Warmonger. Windows 8 has complete backwards compatibility with Windows 7. So, it will support all existing functions.Warmonger wrote:...Which should give them no excuse not to update the constants and parameters of other functions that rely on the OS. It would be terrible to see 5.00 release and not at least support the already existing functions.
Besides including a new OSVersion() constant for Windows 8, what are the other Windows-8-specific functions that need updating?
Its Not A Bug, Its An Undocumented Feature!
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Re: Windows 8 Support
Actually, Windows 8 has added more than a thousand new functions and hundreds of new classes to its API, but the earlier subsets are still in tact and fully functional. So, if it works on Windows 7, it should work on Windows 8, with no variance in memory or process handling. Accordingly, any existing inconsistencies in PureBasic would be carried over, but not likely caused by Windows 8 itself.Warmonger wrote:Of course most of the existing functions will still work as Win32 hasn't changed any. Tho Windows 8 handles memory and other things a little differently then previous OS's. So you can expect there to be a few bugs down the line.
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 
Re: Windows 8 Support
Actually none of them functions exist in Win32, you are thinking of WinRT. Something that PureBasic probably wont support ever. Most of everything is the same within the API, tho the way the OS handles things is completely different. Download and give it a look you will be surprised of all the core changes that has went into Windows 8. The the important thing is that all of the constants etc get updated to back Windows 8 launch.TI-994A wrote:Actually, Windows 8 has added more than a thousand new functions and hundreds of new classes to its API, but the earlier subsets are still in tact and fully functional. So, if it works on Windows 7, it should work on Windows 8, with no variance in memory or process handling. Accordingly, any existing inconsistencies in PureBasic would be carried over, but not likely caused by Windows 8 itself.Warmonger wrote:Of course most of the existing functions will still work as Win32 hasn't changed any. Tho Windows 8 handles memory and other things a little differently then previous OS's. So you can expect there to be a few bugs down the line.
Its Not A Bug, Its An Undocumented Feature!
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Re: Windows 8 Support
Hello again, Warmonger. There seems to be a confusion in terminologies. Firstly, the Windows 8 API is made up of both Win32 and WinRT. And secondly, even the Win32 libraries have been updated. New functions have been added to existing libraries like kernel32, user32 and dnsapi, just to name a few; and these new functions, for example, CopyFile2, CreateFile2, DnsQueryEx, GetPointerType, etc., all indicate Windows 8 as the minimum supported client. So, even based on pure Win32, you'll have backward compatibility, but not forward. And to be backward compatible, the handling of the older API functions must remain unchanged, regardless of the Windows version.Warmonger wrote:Actually none of them functions exist in Win32, you are thinking of WinRT. Something that PureBasic probably wont support ever. Most of everything is the same within the API, tho the way the OS handles things is completely different. Download and give it a look you will be surprised of all the core changes that has went into Windows 8. The the important thing is that all of the constants etc get updated to back Windows 8 launch.TI-994A wrote:Actually, Windows 8 has added more than a thousand new functions and hundreds of new classes to its API...
Bottom line: unless you're aiming for Metro-based apps, PureBasic should have no problem forging ahead into the world of Windows 8.
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 
Re: Windows 8 Support
Wrong again, the Windows API is not made up of both Win32 and WinRT. WinRT is a side-by-side API that only relies on Win32. Microsoft has not incorporated WinRT into Win32 yet. Bottom line is, your looking for a reason to go off topic. I suggest you stop replying to my thread, because obviously you have no clue what you are talking about.TI-994A wrote:Hello again, Warmonger. There seems to be a confusion in terminologies. Firstly, the Windows 8 API is made up of both Win32 and WinRT. And secondly, even the Win32 libraries have been updated. New functions have been added to existing libraries like kernel32, user32 and dnsapi, just to name a few; and these new functions, for example, CopyFile2, CreateFile2, DnsQueryEx, GetPointerType, etc., all indicate Windows 8 as the minimum supported client. So, even based on pure Win32, you'll have backward compatibility, but not forward. And to be backward compatible, the handling of the older API functions must remain unchanged, regardless of the Windows version.Warmonger wrote:Actually none of them functions exist in Win32, you are thinking of WinRT. Something that PureBasic probably wont support ever. Most of everything is the same within the API, tho the way the OS handles things is completely different. Download and give it a look you will be surprised of all the core changes that has went into Windows 8. The the important thing is that all of the constants etc get updated to back Windows 8 launch.TI-994A wrote:Actually, Windows 8 has added more than a thousand new functions and hundreds of new classes to its API...
Bottom line: unless you're aiming for Metro-based apps, PureBasic should have no problem forging ahead into the world of Windows 8.
Its Not A Bug, Its An Undocumented Feature!
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Relax Its All Just Ones And Zeros
There Is No Place Like 127.0.0.1 Except ::1
I do things TO my computer, not WITH my computer... I am a nerd.
Re: Windows 8 Support
Hi Warmonger. Why the sudden hostility? All my posts were in response to the question in your original post, "will PB v5.00 support Windows 8?"Warmonger wrote:Wrong again, the Windows API is not made up of both Win32 and WinRT. WinRT is a side-by-side API that only relies on Win32. Microsoft has not incorporated WinRT into Win32 yet. Bottom line is, your looking for a reason to go off topic. I suggest you stop replying to my thread, because obviously you have no clue what you are talking about.
In any case, with a statement like "Microsoft has not incorporated WinRT into Win32 yet," it's apparent that you're a little confused about the Windows 8 API. So, I suggest that you take a look at this MSDN document. which clearly shows that the Windows 8 API is made up of both Win32 and WinRT.
Texas Instruments TI-99/4A Home Computer: the first home computer with a 16bit processor, crammed into an 8bit architecture. Great hardware - Poor design - Wonderful BASIC engine. And it could talk too! Please visit my YouTube Channel 
