[Lazarus] Win 10 IOT Core

classic Classic list List threaded Threaded
68 messages Options
1234
Reply | Threaded
Open this post in threaded view
|

[Lazarus] Win 10 IOT Core

Michael Schnell
(avoiding to hitchhike the other thread))

On 10/16/2015 07:32 AM, LacaK wrote:
> Same in our company. We use Motorola mobile computers with WinCE 5 and
> WinCE6 and we compile native applications for them.
> (So WinCE support is for us very important)
> -Laco.

I understand that Microsoft on the long run will try to have the Wince
(and WinPhone ?)  users to upgrade to the Windows 10 product line.

I understand that with Intel Arch, fpc/Lazarus "Windows" programs will
simply run in Win 10 IOT Core (and a colleague of mine already tested
that his Delphi programs do run on Win 10 IOT Core on a MinowBoard Max.)

What about Win 10 IOT Core for ARM ? I suppose that some work needs to
be done to support Win 10 IOT Core on ARM.

-Michael

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Sven Barth

Am 16.10.2015 09:45 schrieb "Michael Schnell" <[hidden email]>:
>
> (avoiding to hitchhike the other thread))
>
> On 10/16/2015 07:32 AM, LacaK wrote:
>>
>> Same in our company. We use Motorola mobile computers with WinCE 5 and WinCE6 and we compile native applications for them.
>> (So WinCE support is for us very important)
>> -Laco.
>
>
> I understand that Microsoft on the long run will try to have the Wince (and WinPhone ?)  users to upgrade to the Windows 10 product line.

That depends on the devices. Some manufacturers might prefer to stay with WinCE, because it's easier to adjust to their hardware (namely because they already have drivers for their hardware).

> What about Win 10 IOT Core for ARM ? I suppose that some work needs to be done to support Win 10 IOT Core on ARM.
>

It depends on whether normal WinAPI programs will work there. If they do, great, then we simply need a port of our win32 target for ARM. If not... Hard stuff... Then a completely new port for the Universal Windows Platform will he needed... (but then we'd also be able to run on Windows 10 Mobile or the Hololens)

Regards,
Sven


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Michael Van Canneyt


On Fri, 16 Oct 2015, Sven Barth wrote:

> Am 16.10.2015 09:45 schrieb "Michael Schnell" <[hidden email]>:
>>
>> (avoiding to hitchhike the other thread))
>>
>> On 10/16/2015 07:32 AM, LacaK wrote:
>>>
>>> Same in our company. We use Motorola mobile computers with WinCE 5 and
> WinCE6 and we compile native applications for them.
>>> (So WinCE support is for us very important)
>>> -Laco.
>>
>>
>> I understand that Microsoft on the long run will try to have the Wince
> (and WinPhone ?)  users to upgrade to the Windows 10 product line.
>
> That depends on the devices. Some manufacturers might prefer to stay with
> WinCE, because it's easier to adjust to their hardware (namely because they
> already have drivers for their hardware).
>
>> What about Win 10 IOT Core for ARM ? I suppose that some work needs to be
> done to support Win 10 IOT Core on ARM.
>>
>
> It depends on whether normal WinAPI programs will work there.

I thought not?

Michael.

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Žilvinas Ledas
On 2015-10-16 15:28, Michael Van Canneyt wrote:
>
>>> What about Win 10 IOT Core for ARM ? I suppose that some work needs
>>> to be
>> done to support Win 10 IOT Core on ARM.
>>>
>>
>> It depends on whether normal WinAPI programs will work there.
>
> I thought not?

According to https://ms-iot.github.io/content/en-US/Faqs.htm :
-----
Are true console apps supported on Windows 10 IoT Core?

True “console” apps aren’t really going to be supported for the IoT core
OS, headless or not. You can still deploy and run a standard win32
console app here, it just won’t be connected to any on-device console.
When running headless you should just get that black screen. When
running headed the only supported UI is via the UWP UI stacks (XAML,
HTML, DirectX).
-----

Ant there is a tool to check compatibility of ordinary WinCE apps:
https://ms-iot.github.io/content/en-US/win10/tools/IoTAPIPortingTool.htm


Best regards,
Žilvinas

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Michael Van Canneyt


On Fri, 16 Oct 2015, Žilvinas Ledas wrote:

> On 2015-10-16 15:28, Michael Van Canneyt wrote:
>>
>>>> What about Win 10 IOT Core for ARM ? I suppose that some work needs
>>>> to be
>>> done to support Win 10 IOT Core on ARM.
>>>>
>>>
>>> It depends on whether normal WinAPI programs will work there.
>>
>> I thought not?
>
> According to https://ms-iot.github.io/content/en-US/Faqs.htm :
> -----
> Are true console apps supported on Windows 10 IoT Core?
>
> True “console” apps aren’t really going to be supported for the IoT core
> OS, headless or not. You can still deploy and run a standard win32
> console app here, it just won’t be connected to any on-device console.
> When running headless you should just get that black screen. When
> running headed the only supported UI is via the UWP UI stacks (XAML,
> HTML, DirectX).
So, that is not the GDI winapi...

Michael.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Michael Schnell
In reply to this post by Žilvinas Ledas
On 10/16/2015 02:51 PM, Žilvinas Ledas wrote:
>
> True “console” apps aren’t really going to be supported for the IoT
> core OS, headless or not. You can still deploy and run a standard
> win32 console app here, it just won’t be connected to any on-device
> console. When running headless you should just get that black screen.
> When running headed the only supported UI is via the UWP UI stacks
> (XAML, HTML, DirectX).

I asked my colleague who tested this with the MinowBoard Max and he
confirms that Delphi programs do run as Services (with an Event Queue
but without a GUI), but normal applications don't show a form.

-Michael


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Michael Schnell
In reply to this post by Michael Van Canneyt
On 10/16/2015 03:00 PM, Michael Van Canneyt wrote:
> So, that is not the GDI winapi...
I understand that it is meant as a replacement for WinCE (and of course
to fight Linux), but not as a competitor for Desktop Windows.

But happily, Delphi (and very likely Windows-fpc-) programs will run.

Seemingly sending "Messages to Windows" works with IOT even if such a
window is never visible. So Lazarus applications might run normal but
invisibly using the Win32 Application widget type.

Maybe on ARM the WinCE application type might work ???

-Michael

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Sven Barth

Am 16.10.2015 15:22 schrieb "Michael Schnell" <[hidden email]>:
> Maybe on ARM the WinCE application type might work ???

I doubt very much that Microsoft ported the WinCE API to their NT based system and yes, they use very different libraries.

Regards,
Sven


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Michael Schnell
In reply to this post by Michael Van Canneyt
On 10/16/2015 03:00 PM, Michael Van Canneyt wrote:
>
> So, that is not the GDI winapi...
>
Obviously.So a Delphi program never will show a a Form.

But with Lazarus, the "fpGUI" and "Custom Drawn" widget sets should
work, as  - AFAIK - they can be configured to use DirectX.

-> Graeme can you comment on this ?

-Michael

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Michael Van Canneyt


On Mon, 19 Oct 2015, Michael Schnell wrote:

> On 10/16/2015 03:00 PM, Michael Van Canneyt wrote:
>>
>> So, that is not the GDI winapi...
>>
> Obviously.So a Delphi program never will show a a Form.
>
> But with Lazarus, the "fpGUI" and "Custom Drawn" widget sets should work, as
> - AFAIK - they can be configured to use DirectX.
>
> -> Graeme can you comment on this ?

As far as I know, fpGUI works on GDI.

Michael.

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Michael Schnell
On 10/19/2015 10:00 AM, Michael Van Canneyt wrote:
>
> As far as I know, fpGUI works on GDI.
>

I suppose you are right. I did not re-check in Windows, as I don't use
Lazarus on windows right now, but maybe erroneously just used my remote
memory.

Rephrasing:


On Linux, fpGUI can be configured to use either "GDI" or "X11" as "fpGUI
Platform". So it might be doable to have fpGUI use DirectX as a platform.

With that - other than Delphi - Lazarus programs would be able to show
their Forms. Yet another argument to use Lazarus rather than Delphi :-) .

-> Graeme can you comment on this ?

Thanks
-Michael

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] Win 10 IOT Core

Sven Barth
In reply to this post by Michael Schnell

Am 19.10.2015 09:43 schrieb "Michael Schnell" <[hidden email]>:
>
> On 10/16/2015 03:00 PM, Michael Van Canneyt wrote:
>>
>>
>> So, that is not the GDI winapi...
>>
> Obviously.So a Delphi program never will show a a Form.
>
> But with Lazarus, the "fpGUI" and "Custom Drawn" widget sets should work, as  - AFAIK - they can be configured to use DirectX.

WinAPI vs. UWP is a completely different beast than GDI vs. DirectX whereby the latter is only a very small part of the problem.

To stress this again: We don't support UWP right now as a target in the compiler and RTL.

Regards,
Sven


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] *SPAM* Re: Win 10 IOT Core

Michael Schnell
On 10/19/2015 11:34 AM, Sven Barth wrote:
>
>
> WinAPI vs. UWP is a completely different beast than GDI vs. DirectX
> whereby the latter is only a very small part of the problem.
>
I see.
>
> To stress this again: We don't support UWP right now as a target in
> the compiler and RTL.
>
Why does UWP need support by the compiler or the RTL ? AFAIK, GDI does
not have such  either, but only by the LCL.

Thanks,
-Michael (sorry if this ia silly question)

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] *SPAM* Re: Win 10 IOT Core

Michael Van Canneyt


On Mon, 19 Oct 2015, Michael Schnell wrote:

> On 10/19/2015 11:34 AM, Sven Barth wrote:
>>
>>
>> WinAPI vs. UWP is a completely different beast than GDI vs. DirectX whereby
>> the latter is only a very small part of the problem.
>>
> I see.
>>
>> To stress this again: We don't support UWP right now as a target in the
>> compiler and RTL.
>>
> Why does UWP need support by the compiler or the RTL ? AFAIK, GDI does not
> have such  either, but only by the LCL.

>From what I've read till now:

UWP is a complete separate runtime environment on Windows.
It is nothing like the Win32 API.
You may not use the Win32 API directly in a UWP application.

That means the headers need to be ported, an RTL needs to be written on top of that.
It's still a question to me whether it sports a flat or OOP model (I think the latter).
There are some other restrictions as well.

See
https://en.wikipedia.org/wiki/Universal_Windows_Platform
and
https://en.wikipedia.org/wiki/Windows_Runtime

All this means you must basically restart from scratch.

Michael.

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] *SPAM* Re: Win 10 IOT Core

Michael Schnell
On 10/19/2015 12:27 PM, Michael Van Canneyt wrote:
>
> UWP is a complete separate runtime environment on Windows. It is
> nothing like the Win32 API. You may not use the Win32 API directly in
> a UWP application.
I did not introduce the term "UWP" here, so I don't know it the non-GUI
part of IOT's API is to be called "UWP".

(The message by Žilvinas was "When running headed the only supported UI
is via the UWP UI stacks (XAML, HTML, DirectX", hence only concerning
the GUI makeoff ).

But the fact is that Delhi service application (that don't have a GUI)
do run normally on IOT, so the part not concerning the GUI seems to be a
Win32 API.

-Michael

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] *SPAM* Re: Win 10 IOT Core

Michael Van Canneyt


On Mon, 19 Oct 2015, Michael Schnell wrote:

> On 10/19/2015 12:27 PM, Michael Van Canneyt wrote:
>>
>> UWP is a complete separate runtime environment on Windows. It is nothing
>> like the Win32 API. You may not use the Win32 API directly in a UWP
>> application.
> I did not introduce the term "UWP" here, so I don't know it the non-GUI part
> of IOT's API is to be called "UWP".
>
> (The message by Žilvinas was "When running headed the only supported UI is
> via the UWP UI stacks (XAML, HTML, DirectX", hence only concerning the GUI
> makeoff ).
>
> But the fact is that Delhi service application (that don't have a GUI) do run
> normally on IOT, so the part not concerning the GUI seems to be a Win32 API.
I *seriously* doubt the first part of this statement, because Delphi explicitly
does not support the windows runtime on which IOT is based.

You can find several statements in this regard by Embarcadero employees.

Michael.
--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] *SPAM* Re: Win 10 IOT Core

Michael Schnell
On 10/19/2015 12:51 PM, Michael Van Canneyt wrote:
>
>
> I *seriously* doubt the first part of this statement, because Delphi
> explicitly does not support the windows runtime on which IOT is based.
See my message above in this thread (10/16/2015, 03:13):

"I asked my colleague who tested this with the MinowBoard Max and he
confirms that Delphi programs do run as Services (with an Event Queue
but without a GUI), but normal applications don't show a form."

This person really is not an idiot but a very versatile programmer doing
Delphi since it exists, Turbo Pascal before !

> You can find several statements in this regard by Embarcadero employees.

Obviously they did not try service applications.

-Michael


--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] *SPAM* Re: Win 10 IOT Core

Michael Van Canneyt


On Mon, 19 Oct 2015, Michael Schnell wrote:

> On 10/19/2015 12:51 PM, Michael Van Canneyt wrote:
>>
>>
>> I *seriously* doubt the first part of this statement, because Delphi
>> explicitly does not support the windows runtime on which IOT is based.
> See my message above in this thread (10/16/2015, 03:13):
>
> "I asked my colleague who tested this with the MinowBoard Max and he confirms
> that Delphi programs do run as Services (with an Event Queue but without a
> GUI), but normal applications don't show a form."
>
> This person really is not an idiot but a very versatile programmer doing
> Delphi since it exists, Turbo Pascal before !

I did not claim otherwise :)

>
>> You can find several statements in this regard by Embarcadero employees.
>
> Obviously they did not try service applications.

We can at least conclude that there is a lot of confusion about what it is and what it is not;

But seeing that it is Microsoft, this does not come as a surprise...
There are more vendors at work than actual programmers in that company.

Michael.

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] *SPAM* Re: Win 10 IOT Core

Michael Schnell
On 10/19/2015 01:33 PM, Michael Van Canneyt wrote:
>
> We can at least conclude that there is a lot of confusion about what
> it is and what it is not;
>
> But seeing that it is Microsoft, this does not come as a surprise...
> There are more vendors at work than actual programmers in that company.
>
M$ claim that "in future there only will one Windows: Windows 10". I
gather that this should mean that there is  a common API specification
(but obviously "smaller" versions provide just parts of same, but no
different specs for the same stuff, any more).

Hence to me it does make perfect sense, that (free) Windows 10 IOT runs
service applications normally (via the "basic no-GUI" WinAPI) but does
not have the "GDI winapi", and hence is no competitor too the (paid)
Desktop Windows 10 versions.

As a result I still think that a "DirectX" version of fpGUI or
CustomDrawn that runs on IOT should be doable.

-Michael

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Reply | Threaded
Open this post in threaded view
|

Re: [Lazarus] *SPAM* Re: Win 10 IOT Core

Michael Van Canneyt


On Mon, 19 Oct 2015, Michael Schnell wrote:

> On 10/19/2015 01:33 PM, Michael Van Canneyt wrote:
>>
>> We can at least conclude that there is a lot of confusion about what it is
>> and what it is not;
>>
>> But seeing that it is Microsoft, this does not come as a surprise...
>> There are more vendors at work than actual programmers in that company.
>>
> M$ claim that "in future there only will one Windows: Windows 10". I gather
> that this should mean that there is  a common API specification (but
> obviously "smaller" versions provide just parts of same, but no different
> specs for the same stuff, any more).
>
> Hence to me it does make perfect sense, that (free) Windows 10 IOT runs
> service applications normally (via the "basic no-GUI" WinAPI) but does not
> have the "GDI winapi", and hence is no competitor too the (paid) Desktop
> Windows 10 versions.

Technically speaking, I read once that the user32.dll and advapi32.dll
may not be used directly in a Windows Runtime application.
Since the service manager calls are in the latter, I assumed
that a service application cannot work.

Probably the information I read was inaccurate or it has changed meanwhile.

>
> As a result I still think that a "DirectX" version of fpGUI or CustomDrawn
> that runs on IOT should be doable.

How do you know that DirectX is part of IOT ?

Michael.

--
_______________________________________________
Lazarus mailing list
[hidden email]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
1234