ProEd4W manual

Documentation TODO: make sure to explain that this tool is not just for Prolint. The tool is also nice when you want to compile from within Ed4W and recieve the compiler warnings back in ED.

system requirements:


- Windows (any version)

- Progress version 9 (we use sockets and pub/sub)

- ED for Windows version 4

- if you want to use this tool for launching Prolint: you'll need Prolint release 26.

Purpose of Proed4w:

If you are using "ED for Windows" (version 4) and are editing .p or .w files, you can launch Prolint from within
ED for Windows to have it check the current sourcefile.

The output from Prolint is displayed in the blue "Build results" window in ED for Windows, from where you can easily
navigate to the matching sourcelines.

Proed4w is not exclusively designed to launch Prolint; it can also be used for syntax checking, compiling, running etc. However, the setup-instructions in this document will focus on Prolint.

How it works, in a nutshell:

ED for Windows is able to invoke "Build tools". Most programming languages
come with command-line tools (like make, compilers, linkers etc.) who send their output to stdout.
ED for Windows is designed to launch such command-line tools, and intercept their stdout output
to feed the "Build Output" window.


Progress does not have many command-line tools, that's where ProEd4W comes in.

Proed4w.exe is a command-line tool with output to stdout, so ED can deal with it.
Proed4w.exe cannot actually compile anything, but it forwards all requests to a Progress session where proed4w.p is running.

Proed4w.p is a persistent procedure that opens a TCP server, listening for requests from proed4w.exe.
When proed4w.p receives a request for a compilation, syntax-check or prolint-check, it just runs the
appropriate Progress tool.

Those Progress tools can PUBLISH text (like compiler warnings) to proed4w.p, who sends the text back to
proed4w.exe through the TCP connection.

Proed4w.exe simply writes any messages it receives from proed4w.p, to stdout where ED for Windows can catch it.

winEd4W.w is a little window that maintains persistence for proed4w.p. The window has a trayicon that changes color if there is an active connection. The window is minimized to the trayicon by default, but when it is restored it shows the most recent command and the current status (waiting or busy). You may find it convenient to add this window to the PRO*TOOLS palette.

Installation:

Download proed4w with sources from page: "download proed4w".

Follow the instructions on page "Setup and Configuration".

In addition you may want to fine-tune some parameters, see page "parameters".

How to use it:

Once you have followed the setup/config-instructions it should work like this:

  1. Start ED for Windows and open a 4GL sourcefile (.p or .w).
  2. If you have created a custom toolbar-button, just press it. Else choose menu "Tool|Build setup...", select "Prolint" and press the Run-button.
  3. The (blue) "Build results" pane will appear where the output from proed4w.exe will be listed.
    Proed4w will try to connect to a Progress session where proed4w.p is already running persistently.
    If it can't find such a Progress session, proed4w.exe will launch one.

  4. Prolint-results or syntax-errors will appear in the "Build results" pane until proed4w.exe is done.
    The Progress session will not quit; it will wait for future requests.

  5. You can double-click on a line in "Build results" to navigate through the source, or you may press the "previous error/next error"-buttons in the toolbar.

If you don't want ED to launch a new Progress session, you will have to make sure that proed4w.p is already running persistently in an open session:

  1. Open the PRO*Tools menu and launch the "ed4win server" tool.
  2. A new window will open but it will immediately minimize to the system tray.
  3. Right-click the tray-icon to show or stop this ed4win server or to quit the Progress session.

That's all. Enjoy!