#1 Installation

open
nobody
None
5
2006-10-28
2006-10-28
Anonymous
No

Errors wile compiling *.ads generated by with msil2ada/
Tool mgnat is loaded by installer package against *.ads
files generated by msil2ada.

Errors begins while some *.ads fails to load
AsyncCollback delegate type definition, because of its
missing definition in mmsys*.ads files

Discussion

  • OCTAGRAM
    OCTAGRAM
    2006-12-19

    Logged In: YES
    user_id=1372556
    Originator: NO

    The same problem.

    Some ads cannot be compiled.

    I've got

    ...
    E:\GNAT\mgnat\include>mgnat -gnatX -c MSSyst-Action.ads
    mssyst-action.ads:42:31: "AsyncCallback" not declared in "MSSyst"

    E:\GNAT\mgnat\include>mgnat -gnatX -c MSSyst-ActivationContext-ContextForm.ads

    E:\GNAT\mgnat\include>mgnat -gnatX -c MSSyst-ActivationContext.ads

    E:\GNAT\mgnat\include>mgnat -gnatX -c MSSyst-Activator.ads
    mssyst-activator.ads:85:35: "T" is undefined
    ...

    Let's find out the actual failure reason...
    We have
    mssyst-action.ads:42:31: "AsyncCallback" not declared in "MSSyst"
    error message.
    Now let's look at MSSyst-Action.ads:42 :
    callback : access MSSyst.AsyncCallback.Typ'Class;
    MSSyst.AsyncCallback is a package,
    but not inside the MSSyst package.
    Let's look at the WITHed units list :

    with MSSyst.Object;
    with MSIL_Types;
    use MSIL_Types;
    with MSSyst.Delegate;
    limited with MSSyst.IAsyncResult;
    with MSSyst.ICloneable;
    with MSSyst.MulticastDelegate;
    limited with MSSyst.Reflection.MethodInfo;
    with MSSyst.Runtime.Serialization.ISerializable;
    limited with MSSyst.Runtime.Serialization.SerializationInfo;
    limited with MSSyst.Runtime.Serialization.StreamingContext;
    limited with MSSyst.String;
    limited with MSSyst.Type_k;
    generic
    type T is private;
    package MSSyst.Action is

    MSSyst.AsyncCallback is not WITHed! I suppose this is the actual problem.

    Now let's look at the
    mssyst-activator.ads:85:35: "T" is undefined
    message :
    In the MSSyst-Activator.ads we can see a lot of overloaded
    functions CreateInstance.
    Almost all of them "return access MSSyst.Runtime.Remoting.ObjectHandle.Typ'Class;",
    "return access MSSyst.Runtime.Remoting.ObjectHandle.Typ'Class;".
    And only one
    "function CreateInstance return T;".
    There are no any T's neither in the MSSyst.Activator nor in the MSIL_Types, the only USEd package.

    Another problem :
    mssyst-arraysegment.ads:31:13: warning: foreign convention function "get_Array" should not return unconstrained array

    type T_Array is array(Integer range <>) of T;
    ...
    function get_Array(
    This : Valuetype) return T_Array;
    ...
    pragma Import(MSIL,get_Array,"get_Array");

    What does this warning mean? Is it unimplemented? I think there must be no any errors&warning during the installation.

    Next...

    mssyst-collections-generic_k-dictionary-keycollection.ads:41:28: "new_KeyCollection" is undefined

    ...:41 :
    pragma MSIL_Constructor(new_KeyCollection);

    And there is no any definition of new_KeyCollection.
    I suppose it must look like
    function new_KeyCollection(
    This : Ref := null) return Ref;

    mssyst-collections-objectmodel-keyedcollection.ads:9:06: file "collection.ads" not found :
    "with Collection;"
    I suppose the full name "MSSyst.Collections.ObjectModel.Collection" is required.

    My .NET FX is v2.0.50727.42

    Hope theese issues will be fixed.

    Does anybody else encounter the same errors?