Code by Kevin, Programming, code, business, and other pursuits
Kevin Walzer, software developer.
Subscribe to RSS Feed
Get a syndicated feed of my weblog.
Site design: Skeleton
I've released version 4.0 of TextSweep, my search-and-replace tool for macOS and Windows.
The big feature in this release is a new scripting interface, for both Mac and Windows. The scripting interface makes it possible to drive TextSweep from other programs. While the specific nature of TextSweep does not require it to return data to other programs, it can still be called as a helper tool from other applications that need search and replace functionality.
As with my other apps, Mac scripting support is offered for AppleScript through my aem library. For Windows, after looking at several different API's for inter-application communication, I chose Dynamic Data Exchange (DDE).
The selection of DDE is not a common one these days, so I wanted to offer a bit of explanation. Like Apple Events on macOS (the underlying mechanism for AppleScript) and the Component Object Model (COM) on Windows, DDE provides a mechanism for communicating data and executing code across applications. DDE is a very old technology on Windows, dating back to Windows 2.0, and is relatively simple compared to the much more powerful COM. In this case, however, simplicity is a virtue--DDE is easy to implement, is supported natively on Windows by Tcl, and can be exposed without issue from other programming languages that incorporate a Tcl/Tk GUI. An excellent extension library, TWAPI, supports COM and greatly simplifies the process of setting up a COM interface--but it is still overkill for my needs.
As always, TextSweep is a free upgrade for registered users.