Errors: What can go wrong  Previous topicNext topicFirst topicLast topic



Errors: What Can Go Wrong

Because there are so many different types of Visual Basic coding methods and projects, there are many potential sources of errors that could be introduced by the ResMe string extraction utility. Here are some of the more common problems to be aware of. In addition, the Enterprise version of ResMe generates an Acid Resource file which is an excellent way of arresting problems early in the localization process.


Your Project Must Be Fully Compilable First
It is imperative that your project's source code adhere to all of Visual Basic's syntax rules. This is best done my either first making an executable version or doing a Ctrl-F5 full compile to make sure that no syntax errors are present in your source code. Unpredictable results will occur if this is not followed because the string extraction utility assumes VB's syntax rules have been followed. It is necessary to correct any syntax errors anyway, so why not do it prior to processing the strings? Invalid source code is the most common and most serious cause of string extraction errors.

Unorthodox Names For Controls
If Visual Basic reserved keywords have been used for the names of any controls, this will result in a compile time error after string extraction. For example, while it is harmless to have a command button named "Caption", a compile time error will occur when the property "Caption.Caption" is automatically initialized in the Form_Load routine. This can be avoided by using recommended naming conventions such as "cmdCaption".

Some Strings Were Mistakenly Moved To The Resource File
Strings that are used for program control might accidentally be moved to the resource file. While this is not immediately apparent as a problem, this will become a problem if the string is localized. For example, if the string "C:\\Windows\\System" was placed in a resource file and then translated to Kanji during a Japanese localization task, there is a high probability the application will not function properly. It is a good idea to carefully review strings that are being moved to the resource file and to inspect the strings in the resource file after string extraction has been finished. The Enterprise version of ResMe generates an Acid Resource file which is an excellent way of detecting these types of problems.

Strings That Were Not Moved To The Resource File
Strings that are used for the user interface might have been accidentally overlooked. While this is not immediately a problem, this will become a problem if the application is localized and some strings were not converted to the target language. Any strings that were not moved to the resource file will not be available to translators during the localization process. It is a good idea to carefully review strings that are not being moved to the resource file.

Local Const String Assignments In Procedures
Module level string constants and local string constants can be optionally converted into resource strings. One side affect from this is that local read-only string constants are turned into local read/write strings. While this isn't a serious problem, it is possible that your code could modify these dynamic strings in the future and cause some subtle problems.