Kbase P186436: Procedure Editor syntax check appears to be caching class names without the case sensitivity needed
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  4/26/2011 |
|
Status: Unverified
SYMPTOM(s):
Procedure Editor syntax check appears to be caching class names without the case sensitivity needed
Invalid datatype specified: System.Windows.Forms.Checkstate. Specify a datatype such as 'character' or the name of a class.
Syntax of .NET class name is validated and generates errors when using lowercase the first time
After modifying .NET class name with the right case check syntax doesn't validate again same class name in lowercase
FACT(s) (Environment):
Windows
OpenEdge 10.2x
CAUSE:
This is expected behavior. As per documentation:
".NET languages are generally case sensitive with respect to all names and identifiers used in the language. However, because ABL is generally not case sensitive, it minimizes the need to respect case sensitivity when programming with .NET objects. Thus, ABL requires that you specify all qualified and unqualified .NET type names using the correct letter case on the first reference only. After that, you can specify the type name using any letter case."
The ABL interpreter (not the Procedure Editor) stores information about the objects in memory in what we call the "Type Library". The lookup within this type library is not case sensitive. So that is why after the first time, after we've found the information in the .NET realm, we can find it again even if the case is not correct.
FIX:
There is no way to control this by activating or deactivating this feature in the Procedure Editor.