• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

About legacy software

Started by José Roca, August 21, 2011, 12:28:35 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

José Roca

 
Now that both PBWIN 10/PBCC 6 and the Windows API Headers II have reached a mature state, I'm going to update the PBWIN 9/PBCC 5 examples and remove the old ones. Regarding COM programming, PBWIN 9/PBCC 5 were transitional because of the lack of native Unicode support and the examples had to use workarounds. Currently, only serve to create confusion.

Jaime de los Hoyos

Hello José,

So, it's kind of upgrade-or-die for those still using PBWin 9 / PBCC 5?

Best regards,

José Roca

#2
 
Not at all. The headers for these compilers are still available. Therefore, you can use them for as long as you wish. But dead code removal and native unicode support are essential for what I'm currently doing. Besides the translation of the C++ headers, the package for PB 10/6 includes many classes, custom controls and hundreds of wrapper functions to simplify Windows API Programming. Without dead code removal, they would add a very big amount of bloat and would be impracticable. Also, doing low-level COM programming without native unicode support was a pain.

There are also new challenges to face. High resolution monitors are becoming the norm and many kind of applications have to be High DPI aware to work properly. I did write the CSED editor, that is fully unicode and High DPI aware, because I had many problems working with SED in Windows 7, a high resolution monitor and a DPI of more than 100%. Fuzzy fonts, artifacts, drag and drop not working properly and some other problems. For GUI programming, I'm currently using my CWindow class, that takes care of unicode and High DPI transparently. The alternative is to use DDT with dialog units or multiply all the coordinates by a ratio. Windows XP has its days numbered and Windows 7 in Aero mode runs legacy applications virtualized, with several serious problems.

Read the following articles: http://msdn.microsoft.com/en-us/library/dd464646%28VS.85%29.aspx


Jaime de los Hoyos

Ah, thanks for this info, José.

Your hard work and commitment to the PB community are truly remarkable. And I sincerely want to thank you for that. I was just worried that you would somehow want to cut or remove support for existing users of the old versions. I see now how wrong I was.

Thanks again,  :)

José Roca

 
However, unless the cost of the upgrade is a major impediment, it's advisable to upgrade because, otherwise, you won't be able to run most of the new code posted here or in the PB Forum.

Jaime de los Hoyos

#5
Thanks, José.

The cost isn't the factor here, luckily; there are other very important reasons for me not wanting to upgrade. I won't go into detail here, because if I do, this post might magically disappear like the other posts I made here yesterday, right? ;)

Peace! :)

José Roca

#6
Quote
I won't go into detail here, because if I do, this post might magically disappear like the other posts I made here yesterday, right?

You must have become blind suddenly, because they are still where you posted them.
http://www.jose.it-berater.org/smfforum/index.php?topic=4274.0

Jaime de los Hoyos

You must surely be confused, José, for I check and re-check and those posts have, in fact, disappeared.

Here's what I get with the link you just provided:



And, just as sure, and checked with two different internet connections, check the last post in that thread:



With two different connections, the same results. Both screenshots were taken today.

José Roca

 
Sorry, another moderator did delete them. Now they are restored.

Brice Manuel

Quote from: José Roca on August 21, 2011, 12:28:35 AM

Now that both PBWIN 10/PBCC 6 and the Windows API Headers II have reached a mature state, I'm going to update the PBWIN 9/PBCC 5 examples and remove the old ones. Regarding COM programming, PBWIN 9/PBCC 5 were transitional because of the lack of native Unicode support and the examples had to use workarounds. Currently, only serve to create confusion.
I didn't suffer any "confusion", but the forum had become rather cluttered.  Plus, IIRC, the old version of the forum software had a default cut-off on what was displayed that you had to reset to get the older things to display.

I do see the other side, though.  I keep PB 8, 9, and 10 installed side by side as I am using a DLL that does not seem to work with anything newer than PB 8 and people here who are more experienced with PB have tried to get it working with a newer version of PB and failed.  PB also has a lot of users that target legacy systems and their livelihood depends on it.  Even PB, Inc. has a special "classic" version of their Windows compiler that is ideal for these legacy systems.

Perhaps instead of "removing" all of the old examples and erasing the "history" of previous versions of the compilers, you can put all of the old examples in a ZIP file for download on your site for those who want them and just do not provide support for them anymore and they won't have to clutter the forum since they will only be available off the forum.  Just a thought, not a demand.

QuoteWindows XP has its days numbered
April 8, 2014 is still over two years away, but the XP "percentages" of installed system have been reduced near 50% over the past four years.  Some will have to keep running it as there really are no other alternatives in the Windows world for them and the extreme bloat of Vista/7 is completely unacceptable for some businesses in the professional sector.  Like it or not, we will have to be dealing with XP for several years after MS pulls the plug (which they may have to extend).  Since the current version of PB still advertises support for Windows '95, XP support is really a moot point.

José Roca

 
The updated examples and tools will work both in Windows 7/Vista and XP, but will require to be compiled with PB 10/PBCC 6. The old ones don't work well in my Windows 7 system and won't compile with PB 10/PBCC 6 without changes. I'm receiving private emails almost daily complaining about this or that example not compiling with the new headers and compilers and I have to explain over and over that they must change STRING to WSTRING, remove the UCODE$/ACODE$ and pass the variable without using the BYVAL STRPTR workaround.

IMO we must work with the latest tools, compilers and Windows version and do what would be needed if we want compatibility with legacy systems. If you only care about backward compatibility, you will lose forward compatibility. Your applications will work fine in the old Windows versions, but not in the newer ones.



José Roca

Quote
Plus, IIRC, the old version of the forum software had a default cut-off on what was displayed that you had to reset to get the older things to display.

This one too. You can collapse or expand forums. Don't know if it works with all browsers. It does with the latest version of FireFox.

José Roca

 
Look at the attached picture to see what happens to the old SED editor when running in Windows 7 without Aero...

With Aero enabled, it runs virtualized and looks almost fine, although the fonts are a bit fuzzy, but soon you will begin to experience problems.

CSED, that is High DPI aware, runs fine in any Windows 7 mode and also runs fine in XP.

Brice Manuel

Quote from: José Roca on August 25, 2011, 01:15:43 AMI'm receiving private emails almost daily complaining about this or that example not compiling with the new headers and compilers and I have to explain over and over that they must change STRING to WSTRING, remove the UCODE$/ACODE$ and pass the variable without using the BYVAL STRPTR workaround.
This is why I suggested getting them off the forum, yet still available and making it clear they are now unsupported.

Quote from: José Roca on August 25, 2011, 01:15:43 AM
IMO we must work with the latest tools, compilers and Windows version and do what would be needed if we want compatibility with legacy systems. If you only care about backward compatibility, you will lose forward compatibility. Your applications will work fine in the old Windows versions, but not in the newer ones.
I do not disagree you.  I have even dropped support for 2000 and will only support XP or above.  My dev machines currently run Windows 7.  The only XP machine I have that still gets used is my Internet machine.

Quote from: José Roca on August 25, 2011, 01:15:43 AMWith Aero enabled, it runs virtualized and looks almost fine, although the fonts are a bit fuzzy, but soon you will begin to experience problems.
Yes, there are issues with ClearType not working with some older stuff.  ClearType sucks compared to Apple's font smoothing (absolutely gorgeous), but ClearType is better than nothing.  For us old-timers, ClearType can really help make things legible.

Of course now that Steve Jobs has resigned, who knows how long it will be before Apple crashes and burns.  I am so glad that I did not make the switch to Apple earlier this year.  I had a feeling that Jobs would be leaving once he unveiled the new products.  Unfortunately, I was right.  Besides feeling bad for Steve, this makes me sad as I am really not looking forward to Windows 8 :'(