OpenEdge support for using the .NET Framework includes the following general limitations:
While you can use both .NET forms and ABL windows together in the same application, you must work with each type of object using the features of its native object model, even when you embed the frames of an ABL window in a .NET form. However, while you can embed frames from ABL windows in .NET forms, you cannot embed .NET controls in ABL windows.
Although ABL allows you to use .NET objects, ABL is not a full .NET language in the sense of Visual Basic .NET. In particular, ABL is not a Common Language Specification (CLS)-compliant language. Instead, the .NET Common Language Runtime (CLR) functions as an embedded component that makes .NET objects available to ABL, but does not directly access ABL objects from .NET. For more information, see
Objectmodel and architecture. For more information on the .NET Common Language Specification and Common Language Runtime, see the documentation on these topics at:
Although ABL provides a comprehensive scheme for mapping ABL and .NET data types, this scheme has some limitations. For example, some data type mappings do not preserve precision. For more information, see
Using.NET data types in ABL.
While you can create ABL classes that extend .NET classes and implement .NET interfaces, ABL has limitations on the kinds of classes and interfaces that you can extend and implement, respectively. For more information, see
Limitations of support for .NET classes.
You can find information on more specific limitations when working with .NET objects from within ABL in the following chapters and sections that describe the corresponding features (see
Organization).