Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Мышинное Программирование    >>    mousefix
 MOUSEFIX - TSR to Fix Mouse Driver Bugs with TP6.0   Duncan Murdoch 29.04.1991

MOUSEFIX - 27K TSR to fix bugs in mouse drivers when used with Turbo Pascal 6.0. This Program intercepts mouse calls. Make sure that hide/show mouse calls balance between saves/restores of the mouse state. Required: Turbo Professional OpInt, OpTSR


MOUSEFIX - TSR to fix bugs in mouse drivers when used with Turbo Pascal 6.0 Usage: Run MOUSEFIX after loading your mouse driver, before running the TP6 IDE. It's a 27K TSR; if it works, you'll probably want to rewrite it in assembler. A lot of people have had trouble with TP 6 losing their mouse cursor. I didn't have this problem, until I started using the IDE within Desqview: then using Alt-F5 to view the output screen, and Enter to get back to the editor would confuse Desqview, so that the next time I popped up the Desqview menu and got rid of it my mouse cursor would be lost. I recently got a copy of Schulman et al's Undocumented DOS (great book!) and the program Intrspy included with it, so I tried spying on the mouse interrupt to see what was going on. It looks as though the offending code goes something like this: ( You hit Alt-F5 ) TP saves the mouse state TP turns off the mouse cursor ( You hit enter to get back to the editor ) TP restores the mouse state. TP seems to assume that restoring the mouse state will restore the cursor, and it does: but Desqview doesn't know that it does, so it thinks the cursor is still hidden. I'd guess that similar problems happen with incompatible mouse drivers: they don't restore the cursor when the state gets restored. If that's true, then the program MOUSEFIX might fix it. What it does is to keep track of the cursor status between saves & restores, and enforce a balance of shows and hides. It seems to fix the problems within Desqview, so I'm hopeful it'll work elsewhere, too. I wrote it in TP using Object Professional's OPINT and OPTSR units for clarity; if you want to really use the thing, you'll probably want to rewrite it in as