Hi,
the "OS-Windows" package [1] from my "OS-xxx" Pharo goodies series [2] is providing better access
to native Windows APIs and wraps Windows functionality for easier access/coding in Pharo (browser, console,
processes, shell, window, GDI, ...). Some of you may know or use this package already.
Up to the last provided stable version for Pharo 4 all my code and bindings were based on "old"
NativeBoost (NB). With the transition away from NB over to new UniversalFFI (UFFI) within Pharo 5
it was necessary to port/migrate the code over to UFFI for all the OS-xxx projects.
Work of the Windows port started when UFFI was still shaky (December) and in a separate repo [3].
It was not easy in the beginning, some headbanging against the wall and feeling like a crash test
dummy was involved - basing the port on early UFFI code and without much documentation.
Several UFFI issues had to be discussed with Esteban Lorenzano in private conversations on #slack: often
leading to some updated UFFI versions afterwards and an updated worklog of Esteban [4].
In the Pharo spirit "step by step" all of this got analyzed, fixed, renamed, improved and integrated into
latest Pharo 5 in the last months. Esteban was VERY VERY supportive and adopted UFFI for all the needs!
ONCE AGAIN: A BIG THANK YOU, ESTEBAN!!!
Long story short: I can now release "OS-Windows" again into the wild for Pharo 5: fully compatible,
again with cleaner code, some more functionality and even more tests (from 77 to now 81)
As ever it is easy to access: open spotter in Pharo 5 and load "OSWindows". Full docu is on the project page [1],
the new version is fully compatible to the Pharo 4 version so there was no need to change a single
line in the tutorial. ;)
Have fun
T.
[1]
http://www.smalltalkhub.com/#!/~OS/OS-Windows[2]
http://www.smalltalkhub.com/#!/~OS[3]
http://www.smalltalkhub.com/#!/~TorstenBergmann/NOS[4]
http://log.smallworks.eu/