While adding string support to TPrintDialog [r513], the ability was lost by which the constructor parameters printTemplateName and setupTemplateName accepted an integer resource identifier masquerading as a string pointer (typically created by the MAKEINTRESOURCE macro). This change may cause legacy code to crash.
Workaround: Use a true string as the dialog template identifier in your resource file. Or manually circumvent the problem in a derived class.
Commit: [r513]
Discussion: 09f652cb
Discussion: Print template for TPrintDialog
Discussion: PrintDialog is crashing
Wiki: Frequently_Asked_Questions
Wiki: OWLNext_Stable_Releases
A fix for this issue was committed in [r3350], and the fix has been merged into Owlet [r3605], 6.44 [r3579] and 6.36 [r3606].
Related
Commit: [r3350]
Commit: [r3579]
Commit: [r3605]
Commit: [r3606]
Last edit: Vidar Hasfjord 2017-01-10
To circumvent this problem for affected versions (version >= 6.32 && version < 6.36 || version >= 6.40 && version < 6.44), change your resource file to use a true string as your dialog template identifier. For example:
Alternatively, you can derive a new class from TPrintDialog, and then manually circumvent the problem in the constructor of your new class. See [discussion:09f652cb] for example code.
Related
Discussion: 09f652cb
Last edit: Vidar Hasfjord 2017-01-10
Last edit: Vidar Hasfjord 2017-01-10
The fix for this issue was released in OWLNext 6.36.0 and OWLNext 6.44.0.