|
Rank: Member
Groups: Registered
Joined: 1/9/2014 Posts: 7
|
Hi,
I am planning to upgrade my application to the latest version 5.1 from 3.6. I am trying to understand the changes made to the latest version based on the trial version on your website.
I tried applying the trial version to my application but I am getting the below error.
Could not load file or assembly 'Keyoti.RapidSpell.NET2' or one of its dependencies. Invalid pointer (Exception from HRESULT: 0x80004003 (E_POINTER))
I have referenced Keyoti.RapidSpell.NET2.dll targeting the 2.0 CLR version and changed the license.licx as provided in the trial.
Please clarify.
Thanks, Karthik.S
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
Hi Karthik.S, could you post the contents of your licenses.licx file please (it must be the licenses.licx file from your EXE project)? Are you referencing our DLL from your local machine or from a network location? Just to make sure our DLL has not become corrupted somewhere along the way, you could remove our lines from licenses.licx and try recompiling - it will just run with a nag. Best Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 1/9/2014 Posts: 7
|
Hi Jim,
Thank you for the clarification. This issue was indeed the ".licx" being referred to the older version.
I have some clarifications after analyzing the 5.1 trial.
1. Dictionary Changes: I have read this post (http://keyoti.com/support/topic.asp?TOPIC_ID=1817) on the changes made to the latest installment improvising the way the dictionary is managed in this product (5.1). From my understanding, the class library "Keyoti.RapidSepllMDict.dll" has been removed and this is handled by embedding the corresponding "Dict File (.dict)" into the project. In the trial version, UK+US-English, UK-English and US-English are available.
Clarification : Can you let me know the language dictionaries that are supported when we buy the license ?
2. Localization Support:
Clarification: Does the product support localization through satellite assemblies or does it support localization based on customizing the dialogs in any way we want (RapidSpell Dialog Box) by giving us the access to the dialog UI ?
3. Licensing: The way license was handled in 3.6 version is by including the .licx file in the properties file and registering the corresponding product key(s) for Thesaurus Desktop and RapidSpell Desktop for .Net. From my understanding of the trial 5.1 version, I feel that the license is handled more or less in the same way. Clarification: Could you let me know if the way license handling has changed and if we have to make any code changes to implement the 5.1 version.
4. Functional Issues: While working with the trial version of 5.1 I have come across some issues with RapidSpellAsYouType.
RapidSpellAsYouType class has a property CheckAsYouType which enables or disables the functionality to check the spellings as you type. In the 5.1 version, I tried turning it on and off but once this property is set to true then I am unable to turn it off. This was not the case with 3.6 version. Clarification: Is there a way in which this is handled differently or is this a bug ? 5. Minimum System Requirements: Are there any minimum system requirements you recommend for the 5.1 version ?
6. Keyboard shortcuts: Do you have a list of shortcuts available that can be used for each of the "Rapid Spell Checking Dialog / Spell Check as you type" ?
Thanks, Karthik.S
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
quote: Clarification : Can you let me know the language dictionaries that are supported when we buy the license ?
English (US, UK, CA, AU) is free, all others $50/each except medical and law which are $150. quote: Clarification: Does the product support localization through satellite assemblies or does it support localization based on customizing the dialogs in any way we want (RapidSpell Dialog Box) by giving us the access to the dialog UI ?
Yes, you can either set the GUILanguage property in the controls to a built in language, or you can set the RapidSpellDialog.Texts property or RapidSpellAsYouType.AddMenuText (and .IgnoreAllMenuText etc) properties. quote: Clarification: Could you let me know if the way license handling has changed and if we have to make any code changes to implement the 5.1 version.
From a use point of view it is the same, but internally it now supports Win7/8 etc and VS2010+ quote:
Clarification: Is there a way in which this is handled differently or is this a bug ?
Changing that property should work, it does for me. Are you able to reproduce on a simple form that you could send me? quote:
5. Minimum System Requirements: Are there any minimum system requirements you recommend for the 5.1 version ?
No, anything that can run .NET can run the spell checker. quote:
6. Keyboard shortcuts: Do you have a list of shortcuts available that can be used for each of the "Rapid Spell Checking Dialog / Spell Check as you type" ?
I don't, but if you press ALT key in the dialog you will see the shortcuts. Do let me know if I can help further Best Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 1/9/2014 Posts: 7
|
Hi Jim, Your support is deeply appreciated. However I have the following clairfications. quote: English (US, UK, CA, AU) is free, all others $50/each except medical and law which are $150.
a. Sorry can you please abbreviate CA and AU? Do they imply California and Australia ? b. Dictionary Availability: In the list of available dictionaries, do you support Japanese and Korean ? c. LanguageParser Property: Based on the documentation, the dictionary support can be added based on the ".dict" file. Based on my analysis changing the property brings up the suggessions for the corresponding language automatically. So based on this, it is supporting all the languages mentioned below (I also observed that Spanish and Polish languages have been added to 5.1 from 3.6.). Does this mean you have mapped the ".dict" files into the product by default. Please clarify ? 1. English 2. Dutch 3. French 4. German 5. Italian 6. Portuguese 7. Spanish 8. Polish quote: Yes, you can either set the GUILanguage property in the controls to a built in language, or you can set the RapidSpellDialog.Texts property or RapidSpellAsYouType.AddMenuText (and .IgnoreAllMenuText etc) properties.
Thanks Jim. I was able to localize both the control but have some clarifications. If I understand correctly, RapidSpellAsYouType has only 3 strings i.e "Ignore", "Ignore All" and "Add". Could you please let me know if there are any other UI components I am missing that should be localized? quote: Changing that property should work, it does for me. Are you able to reproduce on a simple form that you could send me?
I took a closer look at the code and found that mapping a text control to RapidSpellAsYouType resets the boolean value to verify the control. However this was not the case with 3.6. It is working now.Thanks, Karthik.S
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
quote: a. Sorry can you please abbreviate CA and AU? Do they imply California and Australia ?
Canada and Australia quote: b. Dictionary Availability: In the list of available dictionaries, do you support Japanese and Korean ?
No, sorry those (and Chinese) are unsupportable - in fact it's arguable that you really need a grammar checker for those languages, due to how they are structured. To keep it short and sweet for example; the word for tree in Japanese is one character, you can't spell it wrong. There is more to it than that, such as no space delimitation between words too. quote: c. LanguageParser Property: Based on the documentation, the dictionary support can be added based on the ".dict" file. Based on my analysis changing the property brings up the suggessions for the corresponding language automatically. So based on this, it is supporting all the languages mentioned below (I also observed that Spanish and Polish languages have been added to 5.1 from 3.6.). Does this mean you have mapped the ".dict" files into the product by default. Please clarify ? 1. English 2. Dutch 3. French 4. German 5. Italian 6. Portuguese 7. Spanish 8. Polish
Originally we expected different parsers for different languages but in the end the parser we called "FRENCH" works with all languages but English, so please use the FRENCH option. quote:
Thanks Jim. I was able to localize both the control but have some clarifications. If I understand correctly, RapidSpellAsYouType has only 3 strings i.e "Ignore", "Ignore All" and "Add". Could you please let me know if there are any other UI components I am missing that should be localized?
That's all, the RapidSpellDialog is where most of the text is, you no doubt saw the options form texts listed under the .Texts property. -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 1/9/2014 Posts: 7
|
Jim, I thank you for your support. Since I am fairly new to the product, I have the following clarifications. quote: Originally we expected different parsers for different languages but in the end the parser we called "FRENCH" works with all languages but English, so please use the FRENCH option.
Based on your feedback, I tried understanding the "LanguageParser" property and came up with the following output with the following code using RapidSpellAsYouType. The word "Hello" in different languages based on Google transalate French - Bonjour Dutch - Hallo German - Hallo Italian - Ciao Portuguese - Ola Spanish - ¡Hola Polish - czese Testcase 1: Without setting any language to the language parser (English by default)Code: public partial class KeyotiCheckAsYouTypeTestTc1 : Form { RapidSpellAsYouType m_spellCheckAsYouType;
public KeyotiCheckAsYouTypeTestTc1() { InitializeComponent();
m_spellCheckAsYouType = new RapidSpellAsYouType(); m_spellCheckAsYouType.ShowSuggestionsContextMenu = true; m_spellCheckAsYouType.CheckAsYouType = true; m_spellCheckAsYouType.TextComponent = keyotiRichTextBox; } } 1. Bonjjour - Supported 2. Hallo - Supported 3. Ciao - Supported 4. Ola not supported 5. ¡Hola is not supported 6. czese is not supported Testcase 2: Setting LanguageParser as LanguageType.FRENCH Code:public partial class KeyotiCheckAsYouTypeTestTc1 : Form { RapidSpellAsYouType m_spellCheckAsYouType;
public KeyotiCheckAsYouTypeTestTc1() { InitializeComponent();
m_spellCheckAsYouType = new RapidSpellAsYouType(); m_spellCheckAsYouType.ShowSuggestionsContextMenu = true; m_spellCheckAsYouType.CheckAsYouType = true; <font color="blue">m_spellCheckAsYouType.LanguageParser = LanguageType.FRENCH;</font id="blue"> m_spellCheckAsYouType.TextComponent = keyotiRichTextBox; } } 1. Bonjjour - Supported 2. Hallo - Supported 3. Ciao - Supported 4. Ola not supported 5. ¡Hola is not supported 6. czese is not supported From the above analysis I understand no difference between English and French parsers. Can you please let me know if I am missing something ? 2. Add menu Item " RapidSpellAsYouType: The "Add" menu item in the context menu is always disabled. Is there a way to enable it ? 3. Functional working of .dict file: I mapped the US and UK dictionaries and it differentiated between say "Color" and "Colour" respecitively when I changed the ".dict" file. I also wrote a "French" word say "Bonjjour" incorrectly and it still offers correction. - How does the ".dict" file work ? - Does this ".dict" file merge with the internal dictionary used by LanguageParser? 4. AutoCorrectEnabled property of RapidSpellAsYouType: The autocorrect in this control works very similar to MS Word application. I tried some of the words like "tthe" for "the", "saidthat" for "said that" and "yuor" for "your" and it works as expected. - Does this control have a dependency on "MS Word" application ? - How can we manage the list of words available i.e add or remove words for Autocorrect ? 5. Can you please elaborate on the following items mentioned in the release notes - User (custom) dictionary and UI editor : When would we need to go for custom dictionary and what is the UI editor ? - Options editor : Not sure where this editor is available. Can you elaborate ? - Customizable, compressed main dictionaries: Is it the customization supported with "DictManager.exe" i.e editing dict files ? - Multilingual: Does it refer to other .dict files for other languages which you had mentioned costing 50$ each ? Thanks, Karthik.S
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
Hi Karthik.S, 1. It affects things like how apostrophes are processed, not how suggestions are found for words or how simple words are looked up. Like I say, just need to use FRENCH for everything but English. I address this more below. 2. Yes, just set the UserDictionaryFile property to the filename you want to use for the user dictionary, eg userdic.txt 3. It doesn't know that Bonjjour is a French misspelling, so it just treats it like you meant an English word. The .dict file contains the dictionary, the language parser doesn't have it's own dictionary, it just sets how strings are broken up in to words to be looked up. 4. No dependency on Word. The errors and their correction are stored in RapidSpellAsYouTYpe.AutoCorrectionMap (it's a hashtable, error is key and correction is value). 5. - User (custom) dictionary and UI editor : When would we need to go for custom dictionary and what is the UI editor ?User/Custom dictionary is what the Add button adds words too. The UI editor is available through the user options button in the dialog spell checker, it allows the user to manage their list of words in the user dictionary. - Options editor : Not sure where this editor is available. Can you elaborate ?http://keyoti.com/produc...uide/User%20Options.htm
you can easily get to it through the dialog spell check or using the API - Customizable, compressed main dictionaries: Is it the customization supported with "DictManager.exe" i.e editing dict files ?Yes. - Multilingual: Does it refer to other .dict files for other languages which you had mentioned costing 50$ each ?Yes. Best Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 1/9/2014 Posts: 7
|
Hi Jim, Your support is much appreciated. However I have the following clarifications. quote: 4. No dependency on Word. The errors and their correction are stored in RapidSpellAsYouTYpe.AutoCorrectionMap (it's a hashtable, error is key and correction is value).
Could you let me know how the AutoCorrectionMap is maintained. Can we only see the details via code (maintained in the assembly) or is there a .dict file maintained separately for the same.1. Is it advisable on purchasing the license that I merge all the types of dictionaries using the "DictionaryManager" (US, UK, AU, CA). Could there be an impact on performance? 2. I not clear on that the "Modal" property of the "RapidSpellDialog" performs. From what I understand, if I don't set it to true the "RapidSpellDialog" does not work. Am I missing something ? Thanks, Karthik.S
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
quote:
Could you let me know how the AutoCorrectionMap is maintained. Can we only see the details via code (maintained in the assembly) or is there a .dict file maintained separately for the same.
All the words are available through the code, there are no external files for the auto correct map. That said you could externalize it if you wish. You could serialize (in whatever way you like, maybe just a plain text file with words separated by tabs) it to a file and load the file in when you start the spell checker. quote:
1. Is it advisable on purchasing the license that I merge all the types of dictionaries using the "DictionaryManager" (US, UK, AU, CA). Could there be an impact on performance?
It won't affect performance, but it will of course mean that any spelling of colour/color is accepted. For your info, when dictionaries are merged they are deduplicated. quote:
2. I not clear on that the "Modal" property of the "RapidSpellDialog" performs. From what I understand, if I don't set it to true the "RapidSpellDialog" does not work. Am I missing something ?
It should work either way - please post your code. When modal is true, the dialog window is modal (it blocks your program and you can't click outside of it), when it's false the dialog is like a regular window, it doesn't block your program, and the user can click outside of it. Maybe your problem is that you're doing something like this rapidspelldialog.Check(); ... rapidspelldialog.Check(); That's not going to work the way you want if Modal==false, because it will call the second Check before the first one finishes. Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 1/9/2014 Posts: 7
|
Hi Jim,
Thank you for your support.
I was trying understand the purpose of compressed dictionaries. We are currently using uncompressed dictionary from the older version.
1. Could you let me know if there is an advantage adopting the compressed format of the dictionary as I read that it reduces performance (loading slightly slower) than the uncompressed versions ?
2. I am trying to understand the Keyoti's text controls in detail. Is there an benefits of using "Keyoti's RichTextBox" over .Net framework's Richtextbox. If so can you provide me with details ?
3. ContextMenu property of AYTRichTextBox: While using 3.6 version, I had replaced the default context(Cut, Copy etc) menu with my own custom context menu providing additional options.
In the 5.1 version, if I replace the ContextMenu property of AYTRichTextBox the context menu that suggests spellings does not work. Can you let me know which property I can use to customize the default context menu ?
Thanks, Karthik.S
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
Karthik.S, 1. Only advantage is smaller size, but if that isn't important to you, which it probably isn't then use uncompressed. 2. Only advantage is it's easier to set UnderlineYOffset in our control which lets you changed the underline position. Also you can set UseUndoCompatibleTextAccess, but take note: ///<summary>Whether to use a work around with RichTextBox that prevents undo information from being lost when the Text property is accessed.</summary> ///<remarks>The side effect of using this work around is the .Text property will now return '\r' instead of '\n' /// (which .Text will return if this property is false) at new-lines. /// If your code requires \n for newlines, please be careful with this property, setting this to true could break your code.</remarks> /// 3. Assuming you were using the .NET 1 DLL with v3, but .NET 2 or .NET 4 with v5: If you want to use ContextMenu, then you should set RapidSpellAsYouType.ContextMenuStripEnabled=false, otherwise use the ContextMenuStrip property instead. You might also be interested in http://keyoti.com/produc...rip%20Customization.htm
Best Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|
Rank: Member
Groups: Registered
Joined: 1/9/2014 Posts: 7
|
Hi Jim,
Thank you for your support.
After some more analysis, I have the following queries.
1. Existing dict files: We have the following .dict files from 3.6 version.
a. de-DE.dict b. es-CO.dict c. es-ES.dict d. fr-FR.dict e. it-IT.dict f. pt-BR.dict g. ru-RU.dict
Could you let me know if these dict files (3.6) would be compatible with the latest installment 5.1 or do we have to purchase these dictionaries as the way these files are handled have changed ?
2. Compatibility: From the compatibility perspective, do you recommend using the custom dictionary for Japanese and Korean ?
3. Suggestions from user dictionary: From the functionality perspective when I add a word to either the RapidSpellDialog or RapidSpellAsYouType (user dictionary), I am not suggested that word when I make a spelling error from the user dictionary. Can you let me know if suggestions appear only from the main dictionary or is there a way to include suggestions from user dictionary as well ?
Thanks, Karthik.S
|
|
Rank: Advanced Member
Groups: Administrators, Registered
Joined: 8/13/2004 Posts: 2,669 Location: Canada
|
Hi Karthik.S, 1. The old versions are compatible. 2. RapidSpell doesn't support those languages at all - they are both too differently structured to be supported by Western spell checkers. For example, words in those languages are not separated by spaces, and often words can be 1 character. 3. In the user options form (you can most easily get to it via the dialog spell check) there is an option to suggest from main dictionary only, you want to uncheck it. Best Jim -your feedback is helpful to other users, thank you!-your feedback is helpful to other users, thank you!
|
|