问题
I'm creating an OpenEdge Progress-4GL application, based on a window, where I like to add a tabpage. In order to do this (as there is no tab page control in the palette), I've tried to add the OCX (ActiveX) control "Microsoft TabStrip Control, version 5.0 (SP2)". However, when I try this I get the following error message:
Messagebox title: AB
Messagebox content:
CtrlFrame
Unable to create control.
Het licentie bestand voor genoemde ActiveX control is niet gevonden.
The last sentence is in Dutch, freely translated it means: "The license file for mention ActiveX control is not found."
What should I do in order to be able to add the mentioned ActiveX control to my window?
Or, even better: is there a standard "tabpage" control I can use for creating Progress-4GL basic Windows-based applications?
Edit after more further investigations
In the meantime from the directory C:\Windows\SysWOW64\
I have launched the command regsvr32 comctl32.ocx
with following results:
- Launched as a regular user : the command fails with error number "0x8002801c". This seems to be due to user permissions.
- Launched as an administrator : the command succeeds but still it seems not to be possible to use the mentioned control.
Edit after installation of Visual Studio
The problem seems still not to be solved, even after having installed Visual Studio 2019, version 16.8.3. The following components are installed:
Workloads :
Web & Cloud (4)
ASP.Net and web development
Python development
Desktop & Mobile (5)
.NET desktop development
Desktop development with C++
Universal Windows Platform development
Other Toolsets (6)
.Net Core cross-platform development
Individual components : Development activities (filtered on "Basic")
C# and Visual Basic
Apparently the required license is not in the installation. What do I need to add?
回答1:
The error message says that you don't have a developer license for that Active X Control. Some (old) Visual Studio installs provide that license.
Your options are:
a) obtain that license through a Visual Studio/Visual Basic license that still has Active X Support, like VB6, note, that Microsoft dropped that from Visual Studio probably 15 years ago.
b) find a different tab folder Active X Control (that is still supported by a vendor). The Codejock components are known to work well in the AVM: https://codejock.com/products/controls/?2yn6s14z=p1z
c) get into ADM2 framework from Progress Software. That provides a tab folder purely written in ABL (not pretty). But learning ADM2 in 2021 seems really painful. It's no longer a maintained by Progress Software
d) Switch to Progress Developer Studio and start using GUI for .NET (https://docs.progress.com/de-DE/bundle/openedge-gui-for-net-primer-117/page/Object-oriented-Programming-in-ABL.html). You can build UI's based on (any) .NET WinForms Control based on GUI for .NET. However, the OpenEdge Studio does not provide a graphical designer for that.
e) Build your own pure ABL tab folder based on images and buttons.
来源:https://stackoverflow.com/questions/65479249/adding-a-tabpage-control-to-a-progress-4gl-windows-application-yields-a-license