Search code examples
.netdllopenedgeprogress-4gl

Can I add a .Net visual component on a Progress-4GL window?


I would like to add a tabstrip component to a frame of a Progress-4GL window.

In my company, this is currently done, using a ActiveX component (OCX). This, however, can't be defined at design-time, and in top of that, in order to view a certain tabpage, this is done by turning its components visible while turning all others invisible.

This, obviously, is a big burden, and I'd like to make this easier.

In a previous question, I've learnt that it is possible to add references to external .Net DLLs, in order to add features to the Progress development.

Although I've seen it work, I can't understand why, for the following reason:
Several years ago, I learnt that DLLs only contain functions, I had no idea DLLs could be used for hosting classes.

As a result, I'm unable to understand whether or not DLLs can contain visual components (and in case not, why not).

In case DLLs (especially .Net DLLs) can contain .Net visual components, can anybody tell me which .Net DLL contains the tabpage (tabstrip) visual component and where I can find information on how to use it?

Thanks in advance


Solution

  • No. You can embed the ABL window into a .NET Form, so that the contents of the ABL window are actually appearing on a .NET Control (the Progress.Windows.WindowContainer). And then you can overlay this .NET Control with another .NET Control (e.g. tabstrip).

    If you look for the GUI for .NET documentation, look for "embedding ABL Windows". That's the technique that describes the foundation.