Limitations – PB Docs 120


Limitations

There are some important limitations on the code you can enclose in conditional compilation blocks.

  • Case sensitivity � PowerScript is case insensitive, but C# is
    case sensitive. If a resource has the same name as another resource
    with differences only in the case of one or more characters, PowerBuilder cannot
    process the resource names correctly.
  • Calls to PowerScript from .NET functions � you cannot call a .NET method inside a conditional code block
    if that method calls back into PowerScript functions.

  • Delegates are not supported � a delegate is a type that safely encapsulates a method, similar
    to a function pointer in C and C++. You cannot
    use delegates in conditional code blocks.
  • .NET classes and interfaces � you cannot use .NET classes and interfaces as parameters
    to functions and events.
  • Inheriting from .NET classes � you cannot create user objects, windows, or window controls
    that inherit from .NET classes.
  • Implementing .NET interfaces � you cannot create user objects that implement .NET interfaces.
  • Consuming .NET generics � you cannot consume .NET generic classes or generic methods
    in conditional code blocks. The .NET Framework 2.0 introduced generics
    to act as templates that allow classes, structures, interfaces,
    methods, and delegates to be declared and defined with unspecified
    or generic type parameters instead of specific types. Several namespaces,
    such as System Namespace and System.Collections.Generic, provide
    generic classes and methods.

    The System.Nullable type is a standard representation of optional
    values and as such it is also classified as generic and therefore
    cannot be consumed in PowerBuilder .NET applications.

    In .NET Assembly and Web service targets, you can select a
    check box to map PowerBuilder standard datatypes to .NET nullable
    datatypes. Nullable datatypes are not Common Type System (CTS) compliant,
    but they can be used with .NET Generic classes if a component accepts
    or returns null arguments or if reference arguments are set to null.

  • AutoScript does not support .NET classes � AutoScript works as expected for PowerBuilder objects, properties,
    and methods inside conditional code blocks, but it does not display
    for .NET classes.

  • DYNAMIC and POST do not support .NET methods � you cannot use the DYNAMIC or POST keywords when you call
    a .NET method.


  • .NET arrays of arrays � .NET arrays of arrays are supported in conditional code blocks
    for .NET targets only.

Document get from Powerbuilder help
Thank you for watching.
Was this article helpful?
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x