Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2012-08

Alternatives to WinCE (Windows Mobile)

26 messages · 8 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Tommi Prami

Hello,

Seems that there is not much support/users of WinCE-Lazarus so I was just pondering what are the options on here...

1. Could QT with Lazarus be viable option to get more robust development tool and environment on Windows Mobile?

2. Is there rugged Linux devices (with significant user base) so it could be targeted with Lazarus. Device must be widely supported so it would stay around long enough...

3. Ditch the PDA and go for rugged Windows PC (This would be easiest for me, but getting this decision trough is very difficult, I think... )

Any other ideas on this???

-Tee-

Reply by email

Felipe Monteiro de Carvalho
to Tommi Prami
Tommi Prami wrote
Seems that there is not much support/users of WinCE-Lazarus so I was just pondering what are the options on here...

Why do you think that? LCL-WinCE was always one of the top downloads of Lazarus with 10.000+ downloads per release.

And in Lazarus 1.0 it is keeping up the same proportion. It has 10% of the total Windows downloads:

http://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2032%20bits/Lazarus%201.0/

Development indeed is slow, but the interface is essentially finished, so there is not much to do. Almost everything works.

And besides that the operating system is no longer utilized in smartphones, so I lost my personal interrest on it and moved to Android development instead (LCL-CustomDrawn-Android). I have to invest in platforms which are actively used in my field...

But I still fix major bugs that appear for LCL-WinCE, despite all that.

Felipe Monteiro de Carvalho

Reply by email

Paul van Helden
to Felipe Monteiro de Carvalho
Show quoted text 10 lines
And besides that the operating system is no longer utilized in smartphones, so I lost my personal interrest on it and moved to Android development instead (LCL-CustomDrawn-Android). I have to invest in platforms which are actively used in my field... But I still fix major bugs that appear for LCL-WinCE, despite all that.

Windows Mobile remains the only operating system on industrial devices, as opposed to consumer. (Or please prove me wrong!)

Huge thanks to you, Felipe for maintaining LCL-WinCE. I have nearly 200 Trimble Juno handhelds in the field running on LCL-WinCE. (Not without nearly killing myself during the development, I might add :-) )

I was wondering the other day... how about LCL-CustomDrawn-WinCE ?

Regards,

Paul.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20120831/24f3da6c/attachment.html>

Reply by email

Tommi Prami
to Felipe Monteiro de Carvalho: Why do you think that? LCL-WinCE was always one of the top downloads of Lazarus with…
Felipe Monteiro de Carvalho wrote 21 lines
On Fri, Aug 31, 2012 at 7:58 AM, Tommi Prami wrote: > Seems that there is not much support/users of WinCE-Lazarus so I was just > pondering what are the options on here... Why do you think that? LCL-WinCE was always one of the top downloads of Lazarus with 10.000+ downloads per release. And in Lazarus 1.0 it is keeping up the same proportion. It has 10% of the total Windows downloads: http://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2032%20bits/Lazarus%201.0/ Development indeed is slow, but the interface is essentially finished, so there is not much to do. Almost everything works. And besides that the operating system is no longer utilized in smartphones, so I lost my personal interrest on it and moved to Android development instead (LCL-CustomDrawn-Android). I have to invest in platforms which are actively used in my field... But I still fix major bugs that appear for LCL-WinCE, despite all that.

OK, but still... as seems that Microsoft is not supporting that line of Windows Mobile for very long... And possibility to support WinRT with other thatn Microsoft compilers seems not to be possible anyways... (Slightly off topic but an point to think of...)

We have had very much problems with out WinCE-based project. And therefore I would like to have better platform and better tools for it.

It is not only the Lazarus and it's WinCE implementation. It is also about Windows Mobile OS and how they are fitted on Hardware and how Hardware is made (and designed).

my ex colleague writes apps to the Windows Mobile with C# and .NOT with using Visual Studio. And He have had huge problems with the Devices, even using Microsoft solutions to development.

So any ideas how I could use Lazarus to target Windows Mobile or similar tugged PDA platforms?? Is there any real alternatives. that would be more than less better choice???

As you state development is Slow and if the this line of M$-operating systems are going to die sooner or later, I am just looking for the some other platforms that would be supported in way or other. Or something like Qt, where is huge amount of people coding ir (not sure how Lazarus QT-support is made tough...)

-Tee-

Reply by email

Michael Schnell
to Paul van Helden: Windows Mobile remains the only operating system on industrial devices, as opposed to…
Paul van Helden wrote
Windows Mobile remains the only operating system on industrial devices,

????

I suppose you mean "operating systems that allow for running Lazarus programs".

But even there I think that (e.g. ARM CPU based) Linux systems (with and without Android candy) not only are existing since a long time, but new installations already outnumber Windows Mobile driven embedded devices or soon will.

-Michael

Reply by email

Tommi Prami
to Felipe Monteiro de Carvalho: Why do you think that? LCL-WinCE was always one of the top downloads of Lazarus with…

And hey...

I don't mean that I won't appreciate the work done!!! All the fixes and work has been very valuable...

Just that if WinCE would be very robust on Lazarus (Like really at productionuse level) it would need quite an push, and what I looked at it, it is really out of my league, no matter how much I would like to help on this...

In general (not mentioned as insult ;) ) I think Lazarus should reduce the "supported" Widgetsets etc. If something is not top notch quality it should be dropped or marked as some kind of an official hobby projet or something like that. Just because Lazarus is an Huge system along with the FPC. So us that are not inside the project and hacking it in and out could see more clearly where to go with it. To choose right widgetset...

And I am in hurry so text is might not be as Diplomatic as I would like it to be, so again it is not meant to be insult just and oppinnion (And not very well formed one). Just to write out so I don't forget. I can explain in detail later if needed ;)

-Tee-

Felipe Monteiro de Carvalho wrote 21 lines
On Fri, Aug 31, 2012 at 7:58 AM, Tommi Prami wrote: > Seems that there is not much support/users of WinCE-Lazarus so I was just > pondering what are the options on here... Why do you think that? LCL-WinCE was always one of the top downloads of Lazarus with 10.000+ downloads per release. And in Lazarus 1.0 it is keeping up the same proportion. It has 10% of the total Windows downloads: http://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2032%20bits/Lazarus%201.0/ Development indeed is slow, but the interface is essentially finished, so there is not much to do. Almost everything works. And besides that the operating system is no longer utilized in smartphones, so I lost my personal interrest on it and moved to Android development instead (LCL-CustomDrawn-Android). I have to invest in platforms which are actively used in my field... But I still fix major bugs that appear for LCL-WinCE, despite all that.

Reply by email

Tommi Prami
to Michael Schnell: ???? I suppose you mean "operating systems that allow for running Lazarus programs". But…
Michael Schnell wrote 21 lines
On 08/31/2012 09:53 AM, Paul van Helden wrote: > > Windows Mobile remains the only operating system on industrial devices, ???? I suppose you mean "operating systems that allow for running Lazarus programs". But even there I think that (e.g. ARM CPU based) Linux systems (with and without Android candy) not only are existing since a long time, but new installations already outnumber Windows Mobile driven embedded devices or soon will. -Michael -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

I am also very interested this kind of Linux devices... Would love to know more, what I was able to find (At least Rugged) where very old...

-Tee-

Reply by email

Michael Schnell
to Tommi Prami
Tommi Prami wrote
I am also very interested this kind of Linux devices... Would love to know more, what I was able to find (At least Rugged) where very old...

IMHO, right now, the most interesting board is the ?70 BeagleBone: http://en.wikipedia.org/wiki/BeagleBone#BeagleBone , but there are a lot more, price range starting from starting ?25 Raspbary Pi: http://www.raspberrypi.org .

There also are lots of ruggedly hosed devices, e.g on DIN rail ( google "for DIN rail embedded arm" ).

-Michael

Reply by email

Paul van Helden
to Michael Schnell: ???? I suppose you mean "operating systems that allow for running Lazarus programs". But…
Show quoted text 17 lines
> Windows Mobile remains the only operating system on industrial devices, > ???? I suppose you mean "operating systems that allow for running Lazarus programs". But even there I think that (e.g. ARM CPU based) Linux systems (with and without Android candy) not only are existing since a long time, but new installations already outnumber Windows Mobile driven embedded devices or soon will. -Michael

I should have been more specific: industrial hand-held devices (PDAs) used in surveying, data collection, mobile scanners. See this article for examples: http://ruggedpcreview.com/2_handhelds.html

At the bottom of that article:

"While the vast majority of consumer handhelds are either iPhones or Android-based smartphones from Motorola, HTC, Samsung or LG and have large (3.5 to 5.0 inch) displays projected capactive touch screens, industrial handhelds continue to hold on to an earlier era. The majority of ruggedized handhelds remain based on Windows CE or Windows Mobile and have resistive digitizers."

Of course this is changing, but companies have invested heavily in this kind of hardware and unlike consumer devices that come and go with every new fad, these industrial devices need to be supported for many years to come.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20120831/7aead8f9/attachment.html>

Reply by email

Felipe Monteiro de Carvalho
to Tommi Prami: OK, but still... as seems that Microsoft is not supporting that line of Windows Mobile…
Tommi Prami wrote
OK, but still... as seems that Microsoft is not supporting that line of Windows Mobile for very long... And possibility to support WinRT with other thatn Microsoft compilers seems not to be possible anyways... (Slightly off topic but an point to think of...)

Why not? I thought that WinRT is just the same as normal Win32/64 apps, but the availables APIs are different. Or am I wrong?

Felipe Monteiro de Carvalho

Reply by email

Graeme Geldenhuys
to Tommi Prami: Seems that there is not much support/users of WinCE-Lazarus so I was just pondering what…
Tommi Prami wrote
Seems that there is not much support/users of WinCE-Lazarus so I was just pondering what are the options on here...

WinCE is unfortunately a dying breed, but there are still millions of devices out there running WinCE (hand-held scanners, PDA's like my own etc).

You could also take a look at fpGUI Toolkit. Paul Breneman put together a small fpc+fpgui archive (2-4MB download) to get you started really fast. Unpack, and you are ready to compile - no other installation required. With fpGUI on WinCE you also get very small executable sizes as a bonus.

http://www.turbocontrol.com/easyfpgui.htm

Going the Qt route as you mentioned, would require extra runtime libraries etc, where with fpGUI and LCL you don't. So deployment with the latter two is easier and smaller.

Graeme.

Reply by email

Graeme Geldenhuys
to Felipe Monteiro de Carvalho: Why not? I thought that WinRT is just the same as normal Win32/64 apps, but the…
Felipe Monteiro de Carvalho wrote
Why not? I thought that WinRT is just the same as normal Win32/64 apps, but the availables APIs are different. Or am I wrong?

Apparently there is something different, but I don't know the details. Microsoft is not allowing other compilers to support true WinRT development. See the recent messages in the Embarcadero non-technical newsgroup. Embarcadero has tried to get some deal going with Microsoft, but Microsoft stone-walled them at every step. :-(

Microsoft is the next Apple, with their "walled garden" design.

Graeme.

Reply by email

Michael Schnell
to Paul van Helden: I should have been more specific: industrial hand-held devices (PDAs) used in surveying,…
Paul van Helden wrote 7 lines
I should have been more specific: industrial hand-held devices (PDAs) used in surveying, data collection, mobile scanners. See this article for examples: http://ruggedpcreview.com/2_handhelds.html

See:

http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Linux-PDAs-PMPs-PNDs-and-other-Handhelds/

-Michael
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20120831/c728b771/attachment.html>

Reply by email

Michael Schnell
Tommi Prami wrote 5 lines
User device, handheald more than less, PDA or smart phone or tablet, or like that...

. Just tale a Galaxy S3 or Galaxy Tab or similar and in stall your software.

There is no point in using any dedicated hardware for such, this only will increase cost.

-Michael

Reply by email

Paul van Helden
to Michael Schnell: . Just tale a Galaxy S3 or Galaxy Tab or similar and in stall your software. There is no…
Show quoted text 9 lines
. Just tale a Galaxy S3 or Galaxy Tab or similar and in stall your software. There is no point in using any dedicated hardware for such, this only will increase cost. What if you need a GPS receiver with <5m accuracy (~1m postprocessed)? The

Galaxy barely manages 15m in good conditions.

See:

I'm happy these exist and it is good that there is a trend. Trimble very recently (Aug 15) announced a side-by-side alternative for the first time: http://www.trimble.com/Outdoor-Rugged-Computers/junot41.aspx?dtID=features

Exactly what my clients need. It'll be fantastic to change to Android on that device.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20120831/48c23e78/attachment.html>

Reply by email

Sven Barth
to Tommi Prami: And hey... I don't mean that I won't appreciate the work done!!! All the fixes and work…
Tommi Prami wrote 9 lines
And hey... I don't mean that I won't appreciate the work done!!! All the fixes and work has been very valuable... Just that if WinCE would be very robust on Lazarus (Like really at productionuse level) it would need quite an push, and what I looked at it, it is really out of my league, no matter how much I would like to help on this...

LCL-WinCE is productive enough. Some rough edges here and there, but besides that it works. If you want to target Windows Mobile easily I would stay with LCL-WinCE instead of using yet another abstraction layer like Qt on WinCE. First LCL-Qt on WinCE is not really tested and also the Qt devs might also be likely to decrease or even stop development on WinCE...

Show quoted text 7 lines
In general (not mentioned as insult ;) ) I think Lazarus should reduce the "supported" Widgetsets etc. If something is not top notch quality it should be dropped or marked as some kind of an official hobby projet or something like that. Just because Lazarus is an Huge system along with the FPC. So us that are not inside the project and hacking it in and out could see more clearly where to go with it. To choose right widgetset...

The activity on WinCE is already rather low (though not as much as on GTK 1). So besides keeping it compiling and happy there isn't much time going in anyways.

Regards,
Sven

Reply by email

Sven Barth
to Felipe Monteiro de Carvalho: Why not? I thought that WinRT is just the same as normal Win32/64 apps, but the…
Felipe Monteiro de Carvalho wrote 9 lines
On Fri, Aug 31, 2012 at 10:02 AM, Tommi Prami wrote: > OK, but still... as seems that Microsoft is not supporting that line of > Windows Mobile for very long... And possibility to support WinRT with other > thatn Microsoft compilers seems not to be possible anyways... (Slightly off > topic but an point to think of...) Why not? I thought that WinRT is just the same as normal Win32/64 apps, but the availables APIs are different. Or am I wrong?

I have not yet looked into it deeply, but applications that use WinRT can be normal binary applications (this includes managed ones) and also HTML5/JavaScript based ones. The latter is not that intresting for this topic, so I'll concentrate on the former. Those apps then use the APIs provided by WinRT and only those. The operating system can then check whether the application behaves "good" and only uses that APIs and then allows to run it on "locked down" versions of Windows like the ARM version of Windows 8. Only the non-WinRT applications provided by Microsoft (Explorer, System Control, Task Manager, etc.) are allowed to run on Windows ARM.

So to support running LCL applications on WinRT only (like is needed on a locked down Windows 8 ARM) we'd need to be able to support WinRT and then maybe (as best solution) provide a CustomDrawn target for WinRT without resorting to the normal WinAPI (though I'm not really sure whether any WinAPI usage is not allowed - if that is really the case we'd need a new compiler target for WinRT).

If we'd have a "unlocked" Windows 8 ARM though we should rather easily be able to provide a new arm-win32 target which allows to run normal LCL-win32 applications on that system...

Regards,
Sven

Reply by email

Sven Barth
to Paul van Helden: Galaxy barely manages 15m in good conditions. See: I'm happy these exist and it is good…

This doesn't change that e.g. Motorola Solutions (not to be confused by the part of Motorola that was bought by Google) provides only industrial devices that are run by Windows CE or Windows Mobile (and they have a wunderful scanning engine :) )

Regards,
Sven

Reply by email

Bernd
to Sven Barth: I have not yet looked into it deeply, but applications that use WinRT can be normal…

2012/9/1 Sven Barth :

Show quoted text 5 lines
Those apps then use the APIs provided by WinRT and only those. The operating system can then check whether the application behaves "good" and only uses that APIs and then allows to run it on "locked down" versions of Windows like the ARM version of Windows 8

What about information like this:
https://forums.embarcadero.com/message.jspa?messageID=484319#484319

Quote Allen Bauer:
"[...] Right now, the issues surrounding the WinRT space center around the fact that many OS-supplied APIs which are required by anyone implementing their own language RTL are actually off-limits unless you're the VC++ RTL DLL. You know, little things like RtlUnwind for exception processing and VirtualAlloc (et. al.) for memory management... Any calls to those APIs from your application will automatically disqualify your application from being an "official" WinRT application capable of delivering through the MS app store.

Right now the VC++ RTL DLL is given special dispensation since that is the library that makes the calls to those forbidden APIs and not directly from the user's app.

[...]

Like the APIs I mentioned above, there are lots of changes with WinRT that make targeting it a little more tricky. For instance, you cannot merely open any file, access the registry, and even use the loopback (127.0.0.1) adaptor. LoadLibrary cannot be used to load any arbitrary DLL; you must call LoadPackageLibrary and only on a DLL that is present in the digitally signed appx package. WinRT is a seriously locked down sandbox or "walled-garden" with some extremely high walls.

[...]"

or this one: https://forums.embarcadero.com/message.jspa?messageID=484771#484771

"[...] Something else I didn't mention was for 32bit applications under WinRT, you must build all binaries using what MS calls SafeSEH. There is precious little information about exactly what that entails. We know it is special meta-data included with an executable that describes all exception handlers throughout that image. However the format of said meta-data isn't documented. I suspect it is similar to the .pdata section of a Win64 image because SafeSEH only pertains to Win32.

<snark>
The only thing we can find is a reference to the /SafeSEH switch for VC++ which you set and it "does the right thing." Gosh, thanks... so all I have to do is recognize that switch with Delphi and it will magically "do the right thing" ;-). Yeah that's the ticket. </snark>

[...]"

When reading such things about Delphi's problems I wonder what this all means for FPC, Especially the following:
* will it ever be possible to build any kind of .exe for RT that will work?
* will it at least be possible to compile a .dll that can be loaded by a native RT app?
* what exactly does "Win32" and "Win64" mean in the above quote in the context of WinRT/ARM, he is talking about ARM code, isn't he? Would the SafeSEH problem affect FPC programs or libraries too?
* will FPC be usable for anything at all on WinRT?
* If the answer to the above is no then would it help to implement a .NET bytecode target in FPC, would this improve the chances of making it usable?

Reply by email

Sven Barth
to Bernd
Bernd wrote 11 lines
2012/9/1 Sven Barth : > Those apps then use the APIs > provided by WinRT and only those. The operating system can then check > whether the application behaves "good" and only uses that APIs and then > allows to run it on "locked down" versions of Windows like the ARM version > of Windows 8 What about information like this: https://forums.embarcadero.com/message.jspa?messageID=484319#484319

[snip]

[snip]

Thank you for the quotes. This is exactly what I feared.

Show quoted text 6 lines
When reading such things about Delphi's problems I wonder what this all means for FPC, Especially the following: * will it ever be possible to build any kind of .exe for RT that will work? * will it at least be possible to compile a .dll that can be loaded by a native RT app?

If you want to make WinRT apps you'll need to add a new target to FPC that adheres to the WinRT rules and binds to the RTL DLL mentioned in those quotes...

* what exactly does "Win32" and "Win64" mean in the above quote in the context of WinRT/ARM, he is talking about ARM code, isn't he? Would the SafeSEH problem affect FPC programs or libraries too?

WinRT is what drives Metro apps. They are used on all three Windows platforms (x86, x86_64 and ARM) though on ARM they are the only possible way (without hacking Windows) for custom applications.

* will FPC be usable for anything at all on WinRT?

In it's current state: No.

* If the answer to the above is no then would it help to implement a .NET bytecode target in FPC, would this improve the chances of making it usable?

A .NET backend would at least solve the issue to have code written in Free Pascal running with WinRT, but you'd have the same problem as with the JVM backend: little to no code reuse (and someone would need to step up to develop a code generator which is not easy cake either).

It seems that from the perspective of a compiler developer WinRT is more tightly locked down than iOS... :(

Regards,
Sven

Reply by email

Tommi Prami
to Michael Schnell: See: http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Linux-PDAs-PMPs-PNDs-an…
Michael Schnell wrote 15 lines
On 08/31/2012 10:44 AM, Paul van Helden wrote: > > > > I should have been more specific: industrial hand-held devices (PDAs) > used in surveying, data collection, mobile scanners. See this article > for examples: http://ruggedpcreview.com/2_handhelds.html > See: http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Linux-PDAs-PMPs-PNDs-and-other-Handhelds/ -Michael

Yep,

But all are old...

-Tee-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus.freepascal.org/pipermail/lazarus/attachments/20120902/34f41eca/attachment.html>

Reply by email

Michael Schnell
to Tommi Prami
Tommi Prami wrote
But all are old...

Unfortunately the "Linux Devices" site died (i.e. was sold and put to sleep by the new owner <supposedly because they wanted to harm the Linux world> ) some months ago. But You might take this a a starting point for research for newer models.

-Michael

Reply by email

Graeme Geldenhuys
to Michael Schnell
Michael Schnell wrote
Unfortunately the "Linux Devices" site died (i.e. was sold and put to sleep by the new owner <supposedly because they wanted to harm the Linux

Or use "The Internet Archive" website and still view the old pages. I love that website, and I use it quite often.

Graeme.

Reply by email