Here's a little trick I just sat down and sorted out, that you guys who write library style code might want to get familiar with.
For your BI file, write it in a simple little $IF Wrapper, like this one:
$IF VKBI = UNDEFINED THEN
(put your actual BI file stuff in between the wrapper, here...)
$LET VKBI = TRUE
$END IF
Then, at the top of your BM file, write something similar to this little snippet:
$IF VKBI = UNDEFINED THEN
'$INCLUDE:'Virtual Keyboard.BI'
$END IF
Now, you can work in the BM file without getting type errors and such, and having to code blind. All your references from the BI file are now included in your work, and auto-formatting and the IDE error checking works as intended, and life is good!!
And best of all?
Once you're finished, you just write your main program like usual to take advantage of those libraries.
'$INCLUDE:'Virtual Keyboard.BI'
(main program code goes here)
'$INCLUDE:'Virtual Keyboard.BM'
Since your manual include of the BI file occurred already in your main program, the precompiler variable is set, and thus no longer UNDEFINED, so you won't include it twice and generate "Name already in use" errors.
I find, for me, this little trick takes a good bit of the hassle out of working with library creation and editing, so I thought I'd share, and maybe others would enjoy taking advantage of it as well. ;)