Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix comment, and suppress warning. #8

Merged
merged 1 commit into from
Aug 25, 2018
Merged

Conversation

irwir
Copy link
Contributor

@irwir irwir commented Aug 1, 2018

This was the only warning when compiling the library, and suppression for one method was enough.

@ppescher
Copy link
Owner

Hi, just back from some vacations...
I was reading about the GetVersionEx API deprecation. Not sure what is the correct way to handle this... does the API still return what the library expects?

@irwir
Copy link
Contributor Author

irwir commented Aug 24, 2018

Hi.
Vacation was good, I hope.

The proper way to handle the deprecation depends on desired backward compatibility.

The library code tried to handle small differences in old Windows versions, and starting from Windows XP these checks probably could be dropped.
That would be even more relevant for VS 2013 and later which could target only for Windows XP and above.

Pragma was the cheapest way to suppress the warning and keep whatever was left from backward compatibility. The old API call in this respect is good enough, while non-deprecated API did not exist in Windows XP.

@ppescher ppescher merged commit d8afc81 into ppescher:master Aug 25, 2018
@ppescher
Copy link
Owner

Hi irwir,
Vacation was good, thanks. I had some good walking on the Dolomites mountains.

I'm not sure whether I want to embark in a review of all the compatibility checks and workarounds I used in this library. The code base is very old, I guess I had Windows 2000 when I first started and ther is no way I could verify proper behavior again on old platforms, but I would like to keep compatibility at least with Windows XP. So I guess it will stay as it is for now. Even if this may change in the future.

@irwir irwir deleted the updates branch August 25, 2018 18:21
@irwir
Copy link
Contributor Author

irwir commented Aug 27, 2018

no way I could verify proper behavior again on old platforms

It is possible with virtual machines, but quite pointless in many cases. Old VS do not mix well with new Windows, and new VS would not install in Windws XP.
Of course, no explicit support for old systems could be promised without proper testing.

For example, out-of-the-box version 1.3 in VC++ 6.0. Workspace or project files would not even be opened correctly, and recreated project did not compile. It was compiling in VS 2003 years ago, but I do not have that old Studio installed to try the latest code. Minor changes might be required, even though newer features, such as initializers in declarations, were avoided intentionally.

@ppescher
Copy link
Owner

I was thinking about run-time compatibility. I surely don't pretend to be able to build and debug with VC++ 6.0 anymore. But having Windows XP still supported at run-time is something I'd like to keep.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants