Recent

Author Topic: Supporting Windows from 95 to 10  (Read 26085 times)

palacs

  • New Member
  • *
  • Posts: 21
Supporting Windows from 95 to 10
« on: February 17, 2017, 12:37:02 pm »
Hi,

I would like to develop an application that runs even on Windows 95 but gets on well with Windows 10 too.

What are my options? Is Windows 95 supported by FPC 3.0?

If not, what is the last version of FPC that supports Windows 95?

If LCL doesn't support these old platforms, it means no problem. I'm about to use some embedded widgetset like fpGUI.

Thaddy

  • Hero Member
  • *****
  • Posts: 14197
  • Probably until I exterminate Putin.
Re: Supporting Windows from 95 to 10
« Reply #1 on: February 17, 2017, 12:42:11 pm »
No. Windows 95 is not supported by fpc 2.6+. Minimum is XP.
But you can still download fpc 2.6.2 which still - somewhat - supports win95.
There is no support available for it, though, and you should not file bug reports against such old versions: they won't ever, never, be fixed.
Specialize a type, not a var.

palacs

  • New Member
  • *
  • Posts: 21
Re: Supporting Windows from 95 to 10
« Reply #2 on: February 17, 2017, 12:47:48 pm »
Sad to hear that. Aren't there workarounds for the latest compiler?

I don't really understand why a compiler can't support Windows 95 while supporting OS/2 and DOS.

Handoko

  • Hero Member
  • *****
  • Posts: 5129
  • My goal: build my own game engine using Lazarus
Re: Supporting Windows from 95 to 10
« Reply #3 on: February 17, 2017, 12:58:01 pm »
I don't really understand why a compiler can't support Windows 95 while supporting OS/2 and DOS.

Read here for more info:
http://forum.lazarus.freepascal.org/index.php/topic,30677.0.html

palacs

  • New Member
  • *
  • Posts: 21
Re: Supporting Windows from 95 to 10
« Reply #4 on: February 17, 2017, 01:34:30 pm »
Thank you for the link Handoko.

So then which is the latest FPC version (that is intended) to support Windows 95?

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: Supporting Windows from 95 to 10
« Reply #5 on: February 17, 2017, 01:45:40 pm »
Thank you for the link Handoko.

So then which is the latest FPC version (that is intended) to support Windows 95?

Officially 2.4.4, but in practice 2.6.2 should be fine, and even 2.6.4 might work except for some minor gotchas. None of them are still officially supported anyway.

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Supporting Windows from 95 to 10
« Reply #6 on: February 17, 2017, 02:48:52 pm »
Officially 2.4.4, but in practice 2.6.2 should be fine, and even 2.6.4 might work except for some minor gotchas. None of them are still officially supported anyway.
One could add "winany" OS-target RTL for FPC.
The RTL could resolve available WinAPI routines in run-time (rather than load-time) and make a program all windows versions compatible :)

The compiler still generates binaries that are valid for any windows family OS, so the only compatibility issue is with RTL.

palacs

  • New Member
  • *
  • Posts: 21
Re: Supporting Windows from 95 to 10
« Reply #7 on: February 17, 2017, 02:53:17 pm »
I'm just wondering about the probability of running into a compiler bug and the worst thing to happen if I really do?

What types of gotchas are waiting for me if I keep using 2.6.4 or 2.4.4?

palacs

  • New Member
  • *
  • Posts: 21
Re: Supporting Windows from 95 to 10
« Reply #8 on: February 17, 2017, 02:55:11 pm »
Officially 2.4.4, but in practice 2.6.2 should be fine, and even 2.6.4 might work except for some minor gotchas. None of them are still officially supported anyway.
One could add "winany" OS-target RTL for FPC.
The RTL could resolve available WinAPI routines in run-time (rather than load-time) and make a program all windows versions compatible :)

The compiler still generates binaries that are valid for any windows family OS, so the only compatibility issue is with RTL.

Not a bad idea but wouldn't it decrease runtime performance? Native FPC programs - that use only the RTL and no external libs - are really fast, even on old computers. I'm just curious.

sky_khan

  • Guest
Re: Supporting Windows from 95 to 10
« Reply #9 on: February 17, 2017, 03:10:00 pm »
Not a bad idea but wouldn't it decrease runtime performance? Native FPC programs - that use only the RTL and no external libs - are really fast, even on old computers. I'm just curious.

I guess it may add some milliseconds to startup of program but it would be same afterwards. But it is huge work to write such a unit. Not sure if it worths

skalogryz

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2770
    • havefunsoft.com
Re: Supporting Windows from 95 to 10
« Reply #10 on: February 17, 2017, 03:24:53 pm »
I guess it may add some milliseconds to startup of program but it would be same afterwards. But it is huge work to write such a unit. Not sure if it worths
It did worth back in 2007... or even 2005. I worked on such "rtl" for a closed-source project based on Delphi 7.
But back in the days, there more desktops with Win9x installed (Win98 on WinME).
They're becoming more rare these days.

Thaddy

  • Hero Member
  • *****
  • Posts: 14197
  • Probably until I exterminate Putin.
Re: Supporting Windows from 95 to 10
« Reply #11 on: February 17, 2017, 04:15:49 pm »
Sad to hear that. Aren't there workarounds for the latest compiler?
I don't really understand why a compiler can't support Windows 95 while supporting OS/2 and DOS.
Well, there's no maintainer for it. If someone steps in, it will be supported again. Simple as that.
Note that this shouldn't score very high on the fpc developers difficulty scale at this moment in time as far as the RTL is concerned.
But the labor is tedious if you want to do it properly. (New Windows API's should be excluded for the target, etc)
The compiler itself is a different matter.  There there are possibly a good many breaking changes.
Specialize a type, not a var.

Bart

  • Hero Member
  • *****
  • Posts: 5274
    • Bart en Mariska's Webstek
Re: Supporting Windows from 95 to 10
« Reply #12 on: February 17, 2017, 04:43:36 pm »
Well, there's no maintainer for it. If someone steps in, it will be supported again. Simple as that.

I was the one and only maintainer for Win9x for Lazarus.
In the end it just wasn't worth it anymore and now we almost completely stripped all Win9x code (AnsiString API calls) from Lazarus and rely fully on WideString API.
This inevitably will fail in Win9x.

Also, basic string comparison will fail (making LCL useless) with Win9x unless you use an fpc that includes the win9xwsmanager unit.

Bart

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: Supporting Windows from 95 to 10
« Reply #13 on: February 17, 2017, 04:44:37 pm »
Well, there's no maintainer for it.

And it should be a separate target that holds its own belt up. One of the reasons why win9x was dumped was that nobody submitted any fixes till the release was branched and frozen and they wanted to get last minute fixes in, even if said fix had been in the "fixes" and/or "trunk" branches for 6 months (and even longer in trunk)

With the number of -W calls rising this kind of trouble was expect to rise even more (since there was no test data from "then" trunk).

Akira1364

  • Hero Member
  • *****
  • Posts: 561
Re: Supporting Windows from 95 to 10
« Reply #14 on: February 19, 2017, 05:56:13 am »
I find it hard to believe that anyone is using Windows 9x anymore, for anything. What could the possible use case be?

 

TinyPortal © 2005-2018