CVP create 4 working files and 5 temporary files.
Working files:
Log table
Reduced version of log file, where text is replaced by ID, and refered to a next tables.
Type of sources table
List of libraries, forms, procedure files and DBC containers.
Object table
List of all passed methods and procedures.
Source code table
Source code of passed method and procedures.
Temporary files :
Table for tree display of source type
Table for tree display of process hierarchy
During saving files are working files (and temporary, if set) stored to CVP file.
If no temporary files are stored to CVP file, they will be generated each time CVP file is open, and when you browse a tree.
LOG file process technique:
Reading and processing log file:
If log file length is smaller then 2MB, file is read by the command APPEND FROM ... and processed, in other case is file opened by lowlewel functions, and processed directly. During the process is generated table content for "Log table", "Type of sources table" and "Object table".
Repairing "Object table":
Method names and path to objects are repaired, especially for class methods.
Reading "Source code table":
The table "Type of sources" is passed through, and simultaneously all related "objects" from the "Object table" too. To all of this "object" is opened appopriate source code, and stored to the table "Source code table".
Displaying source code on page Sources:
In this phase the application detect, how many times was every method/procedure called, and from where. If the method/procedure was called from more other methods/procedures, or many times from one of them, the option "Global view" will be added to combobox. "Process" spinner is used for specification of appopriate process. When you select "Call from..." and "process", concrete source code will be generated and displayed.
Displaying source code on page Process hierarchy:
After click on branch of tree will be generated and displayed a source code for this process.
LOG file processing specialities:
During a LOG file reading are detected all used application and exe files.
If any row with this one was found, the dialog List of projects will be displayed for locating appopriate projects. If the dialog was terminated by an Escape key, or if location of any project was not be specified, may become a dialog List of modules will have great number of "lost" files, which no one of them was found on disc. Application during processing LOG file search projects on specified path only, do not search all directory on all local drives for any project file!
Before reading source code will be tested, if specified files exists on specified path. If so, a dialog List of modules will be displayed for determining location of appopriated files. If the dialog was terminated by Escape key, or if location of any module not be specified, source codes for this files will not be available.