winsamp: - WinMain was catching Exceptions instead of Throwable. Throwable should be caught in order to demonstrate the creation of a message box on a null dereference. - With optimizations On the compiler is smart enough to detect that a null dereference is in play and it denies compilation. To trick the compiler I've made a pointer variable in module scope which is null-initialized. - The example was leaking GDI objects. Here's a tip: In the task manager, select View>Select Columns> and put a check next to GDI Objects. On the old example try resizing the window and witness the holy grail of GDI leakage! - The example used old-style prototypes of runtime initialization functions. I've replaced this with an import to cure.runtime and used that inside of WinMain. - Added a pragma to gdi32.lib, and a note that the user can compile via "-L-Subsystem:Windows". .def files are rarely required unless you're doing something super-special like renaming symbols. - The window size was too small to even show the message. - The switch statements were missing default cases. The example wouldn't compile in the next release. The updated sample is in the attachment. Tested on XP32 and Win7. dhry: Just a missing default case. Finally, why aren't the samples on Github anywhere?
Created attachment 1000 [details] description
The samples are now on github! https://github.com/D-Programming-Language/dmd/tree/master/samples So now pull requests can be done.
Yay, thanks a bunch!! I'll make a pull later.
https://github.com/D-Programming-Language/dmd/commit/5315dcd82a74c196e21887212bb58a0327d75235