Kbase P140037: How does the class browser reference packages?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  1/20/2009 |
|
Status: Unverified
GOAL:
How does the class browser reference packages?
GOAL:
Why are my classes shown with incomplete path references in the Class Browser?
FACT(s) (Environment):
Windows
OpenEdge 10.1x
OpenEdge 10.2x
FIX:
The way the Class browser works is that it reads each PROPATH directory and all its subdirectories looking for r-code files that are the result of compiling .cls files. When it finds such r-code it reads it into a buffer and resolves the namespace reference within the class and that is what it uses to show the resource in the class browser.
For example; Take a class in propath_dir\dir1\dir2\pkg_dir1\pkg_dir2 who's class name is pkg_dir1\pkg_dir2.myclass, and propath_dir is a PROPATH folder, you'll see this in the class browser starting with the first propath entry used to find it like so:
- propath_dir (propath folder)
pkg_dir1\pkg_dir2.myclass
It doesn't matter that there are actually more directories between propath_dir and pkg_dir1. The compiler allows referencing the namespace as such so that it is appropriate for the target deployment environment with no specific validation at compile time that the code is in the exact directory structure as implied by the class name.
Note that if you attempted to NEW such a class using only the package reference, or the top level PROPATH reference plus the package reference, this would not work. The deployment environment must include the appropriate PROPATH entries or the r-code must be placed appropriately in the PROPATH.