The ABL Virtual Machine (AVM)
- Last Updated: February 19, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
Basically, the AVM is a platform for compiling and running ABL code. Often called the OpenEdge runtime or client, the AVM also provides many other services, such as performing syntax checks, running OpenEdge and user-designed tools, and running startup procedures. In Progress Developer Studio for OpenEdge, every OpenEdge project is associated with an AVM.
prowin.exe for Windows applications and
_progres.exe for TTY applications.Project-specific AVMs
You might want to configure individual AVMs when projects in a workspace do not have the same requirements. You could, for example, create projects with different PROPATH settings by configuring an individual AVM for each project.
Configure project-level AVMs on the properties pages for OpenEdge projects ().
Shared AVMs
You can configure an AVM that is available to every project within a workspace. If, for example, you are developing an application that is divided into multiple project modules within a single workspace, you might want all the project modules to use an AVM that has the same startup parameters, the same PROPATH, the same database connections and so on. Configuring a shared AVM for all the project modules guarantees that all those settings are the same. In addition, the shared AVM conserves memory and CPU resources.
You configure a shared AVM as a workspace preference ().
Runtime AVMs
When you create a new project, the Use project-specific AVM option is selected by default and associated with the project (project-specific or shared).
When you run an ABL executable in the project, the Run Configurations window opens to create a configuration to launch the OpenEdge application. The Run Configurations window uses the default Start new OpenEdge AVM option, in the Main tab, to run the ABL executable.
You have to explicitly select Use OpenEdge project runtime option to use the AVM associated with the project.
