To answer your last question first:
The Poser documentation *IS* a joke indeed; most I learned about wxPython I learned from Google searches, or from looking at code examples just to see how it actually works.
You're right about the unicode strings. Look here:
UnicodeBuild - wxPyWiki
I too use self.Destroy() to terminate the widgets.
I also ended up with some unresponsive panels in the beginning.
Mostly it happened when a program runtime error occured and the panel couldn't terminate properly.
My "brute force" solution was to close and restart Poser...
About PMDs:
-----------
Yes, the checkbox in the General Preferences stops Poser from using PMDs *on normal saves*.
Problem is:
If you click "File:Export:Morph Injection" from the menu, Poser will inevitably and stubbornly create a PMD file for the morph, and there's no way to stop this.
Even if you only want to export *one* single small morph in only *one* body part, you end up with an associated PMD file, and *not* with embedded morph data in the .pz2
To make matters worse:
In the .pz2 the PMD is referenced by a path to the *current* folder, e.g. "runtime\libraries\pose\thisFolder\myMorph.pmd"
So once you change your runtime folder structure, or copy the "myMorph.cr2" to a different folder, the path becomes invalid and that was it. That's probably also the reason for the massive loss of data I had when starting with Poser.
It's a bit like boobytrapping your backyard with mines and then mislaying the plan *where* you laid them...
Plus:
The Poser export is (as usual) very slow and cumbersome to use.
It takes about ten seconds to even make the widget pop up, and then it's the usual dreaded "Select objects" widget which you have to scroll through endlessly just to find that *one* morph you want to export.
That's why I wrote my script.
But you can test it for yourself.
I'll upload it in a few hours and send you the link via sitemail(PM). Just too late (or rather: too early (04:30 here))
And maybe, if you look at it's structure, you can also see how I implemented the GUI.
Feel free to copy it!
All you need to do is to change it's size,replace the buttons etc. with your own, and then add the rest of your own code.
For me, a single example code replaces a hundred tutorials with esoteric mumbo-jumbo descriptions.
That's how I learned coding back then.
K