Thread overview
German D tutorial: HTML5 Anwendung mit GTK3 schreiben
Feb 13, 2020
Andre Pany
Feb 14, 2020
Andre Pany
Feb 14, 2020
Adam D. Ruppe
Feb 14, 2020
Andre Pany
February 13, 2020
Hi,

Dieses Tutorial zeigt, wie GTK3 zum Erstellen von HTML5 Anwendungen verwendet werden kann.

http://d-land.sepany.de/tutorials/gui/html5-anwendungen-mit-gtk3-schreiben

Viele Grüße
Andre
February 14, 2020
On Thursday, 13 February 2020 at 22:48:32 UTC, Andre Pany wrote:
> Hi,
>
> Dieses Tutorial zeigt, wie GTK3 zum Erstellen von HTML5 Anwendungen verwendet werden kann.
>
> http://d-land.sepany.de/tutorials/gui/html5-anwendungen-mit-gtk3-schreiben
>
> Viele Grüße
> Andre

Cool.
February 14, 2020
On Thursday, 13 February 2020 at 22:48:32 UTC, Andre Pany wrote:
> Hi,
>
> Dieses Tutorial zeigt, wie GTK3 zum Erstellen von HTML5 Anwendungen verwendet werden kann.
>
> http://d-land.sepany.de/tutorials/gui/html5-anwendungen-mit-gtk3-schreiben
>
> Viele Grüße
> Andre

Hi Andre,

I quickly skimmed through your article and I noticed that you're making a copy of the D-style `string[] args`, so you can guarantee that you have null terminated C-style `const char** argv`. You can avoid this by directly accessing the original args that were passed to the C main:

void main()
{
    import core.stdc.stdio : printf;
    import core.runtime : Runtime;
    const args = Runtime.cArgs;
    foreach (i; 0 .. args.argc)
        printf("%s\n", args.argv[i]);
}
February 14, 2020
On Friday, 14 February 2020 at 08:44:11 UTC, Petar Kirov [ZombineDev] wrote:
> On Thursday, 13 February 2020 at 22:48:32 UTC, Andre Pany wrote:
>> Hi,
>>
>> Dieses Tutorial zeigt, wie GTK3 zum Erstellen von HTML5 Anwendungen verwendet werden kann.
>>
>> http://d-land.sepany.de/tutorials/gui/html5-anwendungen-mit-gtk3-schreiben
>>
>> Viele Grüße
>> Andre
>
> Hi Andre,
>
> I quickly skimmed through your article and I noticed that you're making a copy of the D-style `string[] args`, so you can guarantee that you have null terminated C-style `const char** argv`. You can avoid this by directly accessing the original args that were passed to the C main:
>
> void main()
> {
>     import core.stdc.stdio : printf;
>     import core.runtime : Runtime;
>     const args = Runtime.cArgs;
>     foreach (i; 0 .. args.argc)
>         printf("%s\n", args.argv[i]);
> }

P.S. pretty interesting combination of GtkD, Broadway and Docker :)
February 14, 2020
On Friday, 14 February 2020 at 08:44:11 UTC, Petar Kirov [ZombineDev] wrote:
> On Thursday, 13 February 2020 at 22:48:32 UTC, Andre Pany wrote:
>> Hi,
>>
>> Dieses Tutorial zeigt, wie GTK3 zum Erstellen von HTML5 Anwendungen verwendet werden kann.
>>
>> http://d-land.sepany.de/tutorials/gui/html5-anwendungen-mit-gtk3-schreiben
>>
>> Viele Grüße
>> Andre
>
> Hi Andre,
>
> I quickly skimmed through your article and I noticed that you're making a copy of the D-style `string[] args`, so you can guarantee that you have null terminated C-style `const char** argv`. You can avoid this by directly accessing the original args that were passed to the C main:
>
> void main()
> {
>     import core.stdc.stdio : printf;
>     import core.runtime : Runtime;
>     const args = Runtime.cArgs;
>     foreach (i; 0 .. args.argc)
>         printf("%s\n", args.argv[i]);
> }

Thanks a lot. I was searching for such thing while writing the article but was not able to find it in the api documents.
I will change it.

Kind regards
Andre
February 14, 2020
is this part of what you're doing with cgi.d this week?!
February 14, 2020
On Friday, 14 February 2020 at 12:53:29 UTC, Adam D. Ruppe wrote:
> is this part of what you're doing with cgi.d this week?!

In this tutorial there is no http server component in the D code but it is provided  by Gtk3 itself (executable broadwayd).

There is already another tutorial using cgi.d (native aws elastic beanstalk apps) and hopefully if I find time, I will write a separate Websocket tutorial using cgi.d and vibe.d as comparison.

Kind regards
Andre