# VBForums CodeBank > CodeBank - Visual Basic 6 and earlier >  VB6 - Ink Editor

## couttsj

InkEditor has been updated to fix several minor bugs.It is essentially TextEditor with the TextBox replaced with an Ink Edit Control. I use TextEditor for editing log files, and InkEditor for creating text messages.

InkEditor allows the use of Spell Checking, but Spell Checking introduces it own set of problems. Spell checking in non-wrap mode did not make a lot of sense to me, so it only works in Word Wrap mode. While defaulting to non-wrap mode made sense in TextEditor, defaulting to wrap mode made more sense in InkEditor. Defaulting to Spell Check when loading text from a file causes some of the misspelled text to be automatically corrected, and this is not necessarily what the user may want. But when entering new text, defaulting to spell check would be an advantage. So InkEditor will check the KeyDown event for existing text, and if blank it will enable Spell Checking. Because Spell Checking on Win 10 only checks keyboard entered data (paste is treated as keyboard data), enabling Spell Check on text loaded from file uses Ctrl-A, Ctrl-X, & Ctrl-V (Select All, Cut, & Paste).

There are still some kinks in the printer routine with regard to printer settings to work out. I will update when I get access to a printer.

J.A. Coutts

Updated: 06/15/2018
Bug Fix: 12/19/2018

----------


## couttsj

Finally got around to testing it on Win 10, and a major problem surfaced with the spell checking. It appears that on Win 10 it only spell checks text that is input via the keyboard. On Win 8.1, it spell checks everything added to the control regardless of source. How do I get Win 10 to behave the same way?

J.A. Coutts

Edit: The only work around that I have found for this problem on Win 10 is to:
1. Select all
2. Cut
3. Paste
That should apply spell check to text loaded from a file.

----------


## couttsj

InkEditor has been updated to fix several minor bugs.

J.A. Coutts

----------


## couttsj

I finally got my printer working, and not surprisingly, there were problems with the printer setup in Ink Editor.

But first I should explain why it took so long to get my printer working. It is an older laser printer that has a parallel port and a USB port. I never could get the USB port to work, and the only computer I have with a parallel port is a Server 2000. It used to work just fine, but for days I struggled to get both Win 8.1 and Win 10 to recognize it. I was aware that a user had to have the correct UserID/Password in the server for seamless operation, but previously I would be prompted to enter the correct credentials. Such is no longer the case in Win 8.1 & 10. They simply will not recognize that the shared printer exists until the correct UserID/Password is entered into the server. And the other issue present with Win 10 is that it will not use SMB1 by default.

Ink Editor now allows you to configure the printer and save the configuration. I cannot pretend that I am any kind of expert on printer logic, so suggestions are welcome. In addition, the file buffer issue discovered in Text Editor was addressed.

J.A. Coutts

----------


## couttsj

Ran into a problem with the "Find" function that also affected the "Replace" function. It is a problem I am familiar with, and was an oversight on my part. The InkEdit control only supports a CR instead of a CRLF when using the "EM_SETSEL" function. This results in the selected text being out by 1 character for every line prior to the text. My work around is to copy the text to a temporary string, replace all CRLF's with CR, conduct the search on the temporary string, and then use the result to select the text in the InkEdit control.

Is there an API replacement to this work around?

J.A. Coutts

----------


## iwsteph

Have you tested your app on Win 11? I can't seem to get the InkEdit control to register correctly on the target machine/os. I keep getting out of memory and automation errors.

SJ Spooner

----------


## wqweto

@iwsteph: You don't register anything on Win11 (and Win10) because there is already MS shipped Inked.dll in C:\Windows\SysWOW64

You are not allowed to replace system DLLs with your own copies for whatever reason. The built-in Windows File System Checker will remove your copy and restore the original DLL.

cheers,
</wqw>

----------


## iwsteph

Thanks wqw. I restored the Win 11 VM to original. Swapping inked.dll didn't work anyway. It still crashes.

The proj below is literally 1 line of code. If you get a chance.....and you have Win11. Well, just see if it runs. It crashes for me right off the bat.

InkEdTest.zip

-steph

----------


## couttsj

> Thanks wqw. I restored the Win 11 VM to original. Swapping inked.dll didn't work anyway. It still crashes.
> 
> The proj below is literally 1 line of code. If you get a chance.....and you have Win11. Well, just see if it runs. It crashes for me right off the bat.
> 
> -steph


Works just fine for me on Win 11. I did not use the executables you provided because you should not have uploaded them in the first place.

InkEd.dll
File version  10.0.22000.556
Date created   2022-03-11 7:07 AM
Date modified  2022-03-11 7:07 AM

InkObjCore.dll
File version  10.0.22000.653
Date created   2022-05-11 6:03 AM
Date modified  2022-05-11 6:03 AM

J.A. Coutts

----------


## iwsteph

@jacoutts Thank you! Yes, I should have pulled the dlls and exes out. My mistake (big note to self). So assuming my Win11 dlls on the target machine are not the problem (they do appear slightly newer), I have to assume my VB6 dev environment is the problem...

The version of InkEd on my 2012R2 VB6 dev vm is quite a bit older:

InkEd.dll
Version: 6.3.9600.20296
Created: ‎03-‎08, ‎2022 ‏‎9:19:56 PM
Modified: 02-05-2022 8:42:54 PM

InkEd.oca
Created: 11-‎22-‎2014 ‏‎6:16:43 PM
Modified: 03-‎10-‎2022 ‏‎8:15:58 PM

 

Do I somehow need to update the Inked version on my 2012R2 VB6 dev vm? Or reference the InkEd a different way? Could the InkEd.oca be the problem? 



InkEd.dll

J.A. Coutts					
Version: 10.0.22000.556			
Created: 2022-03-11 7:07 AM		
Modified: 2022-03-11 7:07 AM		

S.J. Spooner
Version: 10.0.22621.608
Created: ‎11-23-‎2022, ‏‎9:54:15 AM
Modified: ‎11-23-‎2022, ‏‎9:54:15 AM


InkObjCore.dll

J.A. Coutts:				
Version: 10.0.22000.653			
Created: 2022-05-11 6:03 AM		
Modified: 2022-05-11 6:03 AM		

S.J. Spooner 
Version: 10.0.22621.1
Created: ‎5-‎6-‎2022, ‏‎10:19:51 PM
Modified: 5-‎6-‎2022, ‏‎10:19:51 PM


Win11 Winver: 22H2 (OS Build 22621.819)

-steph

----------


## couttsj

> Could the InkEd.oca be the problem? 
> 
> -steph


Normally the .OCA file is just a shortcut created the first time the .OCX file is called. For example:
2022-03-19  11:48 AM            13,312 NTSVC.oca
1998-04-14  06:51 AM            34,304 NTSVC.ocx

You can probably guess the date that I added this control and how old the original was. For whatever reason, there is no InkEd.ocx. All part of the magic of MS updates I guess. I do not recommend messing around with MS controls, because they have to be registered in order to use them. They are normally backwards compatible.

J.A. Coutts

----------

