ClipMate Issues for Developers
Jul 16th, 2007 by Chris Thornton
This page is for developers who are trying to make their program cooperate better with ClipMate.
Troublesooting Guide
Problem |
Cause |
Solution |
When users run your app, ClipMate stops responding to clipboard updates. | You don’t pass clipboard messages | Review the Clipboard Viewer Implementation page, to be sure you are properly implementing ALL clipboard messages. |
ClipMate won’t capture from your app, but will capture from other apps. | You could be forgetting to clear the clipboard, thus leaving an old copy of the CF_CLIPBOARD_ VIEWER_IGNORE flag behind. | Remember to clear the clipboard before putting your data on it.Remember: open, clear, copy, close. |
When a user copies from your app, sometimes they get old data when they paste. RTF pastes different stuff than TEXT, for example. | You could be forgetting to clear the clipboard, leaving old data behind. | Remember to clear the clipboard before putting your data on it.Remember: open, clear, copy, close. |
ClipMate’s PowerPaste1 Goes Crazy! Many users report that the PowerPaste feature in ClipMate “scrolls automatically” when your application is active. | Your application is automatically pasting into itself, trigging PowerPaste. | Detect the CF_CLIPBOARD_VIEWER_IGNORE datatype, and ignore the new data. |
ClipMate grabs data from your application, and you’d like to make ClipMate ignore it. | ClipMate normally grabs everything | Use the CF_CLIPBOARD_VIEWER_IGNORE datatype. |
When ClipMate is running, your app can’t copy properly. You get “out of memory” or “can’t open clipboard” errors. | You could be updating the clipboard multiple times in rapid succession. | Process all clipboard transactions in a single open,clear,update,close transaction. See Common (General) Clipboard Mistakes. |
When pasting in “old” data from ClipMate, your application bombs. | You have a clipboard format that isn’t viable later on. | Don’t rely on internal data structures, or simply pick another format, if the data appears to be old, then handle that situation. |
Notes:
- PowerPaste is a function of ClipMate where it loads an item onto the clipboard, waits for the user to paste, then automatically advances to the next clip. Like a semi-automatic firearm, which loads a new round into the chamber, after the previous round is fired. If your application automatically pastes data into itself, it’ll defeat PowerPaste by causing it to “fast forward” before the user gets a chance to paste anything. It’s nobody’s bug, really, just an unfortunate incompatibility, which can be fixed with the CF_CLIPBOARD_VIEWER_IGNORE datatype.
The links in the article above are broken (file:///W:/Thornsoft/developer_clipboardviewer.htm).