Types of Projects

When you create the project, you must choose a project type. You need to create a project for each binary executable file to be created. For example, the main Fortran program and a Fortran dynamic-link library (DLL) would each reside in the same workspace as separate projects.

The project type specifies what to generate and determines some of the options that the visual development environment sets by default for the project. It determines, for instance, the options that the compiler uses to compile the source files, the static libraries that the linker uses to build the project, the default locations for output files, defined constants, and so on.

You can build seven kinds of projects with Visual Fortran. You specify the project type when you create a new project. They are summarized in the following table:

Project Type Key Features
Fortran Console Application (.EXE) Single window main projects without graphics (resembles character-cell applications). Requires no special programming expertise. For a Visual Fortran Sample of a Console Application, see ...\COMMON\MSdev98\MYPROJECTS\CELSIUS, as described in "Opening an Existing Project" in Compaq Visual Fortran Installing and Getting Started.
Fortran Standard Graphics Application (.EXE) Single window main projects with graphics. The programming complexity is simple to moderate, depending on the graphics and user interaction used. Samples of Standard Graphics Applications (QuickWin single window) resemble those for QuickWin Applications (see below).
Fortran QuickWin Application(.EXE) Multiple window main projects with graphics. The programming complexity is simple to moderate, depending on the graphics and user interaction used. Samples of QuickWin Applications (QuickWin multiple window) are in ...\DF98\SAMPLES\QUICKWIN, such as QWPIANO and QWPAINT.
Fortran Windows Application (.EXE) Multiple window main projects with full graphical interface and access to all Win32 API routines. Requires advanced programming expertise and knowledge of the Win32 routines. Samples of Win32 Applications are in ...\DF98\SAMPLES\ADVANCED\Win32, such as PLATFORM or POLYDRAW.
Fortran COM Server (.DLL) Uses the Component Object Model (COM) to implement a COM server. COM supports client-server interaction between a user of an object, the client, and the implementor of the object, the server. Clients may be written in Visual Fortran using the Fortran Module Wizard or in other languages, such as Visual C++ and Visual Basic. Requires advanced knowledge of COM. Samples of Fortran COM Server (and COM client) applications are in ...\DF98\SAMPLES\ADVANCED\COM, such as Adder.
Fortran Static library (.LIB) Library routines to link into .EXE files.
Fortran Dynamic-Link Library (.DLL) Library routines to associate during execution.

The first four projects listed in the preceding table are main project types, requiring main programs. The last two are library projects, without main programs. The project types are discussed in detail in:

When migrating legacy applications, choosing a project type that will minimize porting effort depends on what the application does. A character-cell application that does not use any graphics (such as a program ported from a UNIX system) can usually be converted into a Fortran Console Application. When a legacy Windows 3.1 (or older) application uses graphics calls, you can try a Fortran Standard Graphics Application or a Fortran QuickWin Application project type. However, be aware that with such legacy graphics applications:

After you select your project type, you need to define your project (see Defining Your Project).

If you need to use the command line to build your project, you can: