static constructor not working with WinMain GUI app

Andrej Mitrovic andrej.mitrovich at gmail.com
Wed Nov 24 05:06:10 PST 2010


This means the windows sample code that comes with DMD in the samples
folder has to be updated, that's where I took the template from.

Thanks.

On 11/23/10, Simen kjaeraas <simen.kjaras at gmail.com> wrote:
> Andrej Mitrovic <none at none.none> wrote:
>
>> maintest.def:
>> EXETYPE NT
>> SUBSYSTEM WINDOWS
>>
>> maintest.d:
>> http://pastebin.com/3c4CKDG1
>>
>> Compiled with DMD 2.050:
>> dmd maintest.d maintest.def
>>
>> The output in the log file is "Lenght: 0". The static constructor is
>> never called when using WinMain.
>>
>> But if I use a normal "void main()" function instead of WinMain, then
>> the static constructor does get called. Here's a working example that
>> tests a GUI dialogbox and outputs "Length: 4" in the log file:
>>
>> maintest.def:
>> EXETYPE NT
>> SUBSYSTEM WINDOWS
>>
>> maintest.d:
>> http://pastebin.com/3UDKmxJ1
>>
>> dmd maintest.d maintest.def
>>
>> This looks like a bug to me..
>
> Looking at http://digitalmars.com/d/2.0/windows.html, it seems your
> template for WinMain is outdated.
>
> You should use the template on that page, but beware that
> exceptionHandler should take a Throwable, not an Exception, like the
> example says. This error is reported:
> http://d.puremagic.com/issues/show_bug.cgi?id=5261
>
> --
> Simen
>


More information about the Digitalmars-d-learn mailing list