CVF COM Servers -- Permissable Derived Types

CVF COM Servers -- Permissable Derived Types

Hello All,

The code generated by the CVF COM server wizard declares the derived type of the COM object with the following form:

TYPE

SEQUENCE

END TYPE

(1) Is the SEQUENCE attribute required?
(2) Is it possible for a component to have the pointer attribute e.g.

REAL(DP), DIMENSION(:), POINTER :: data => NULL()

(I am unsure if the SEQUENCE attribute can be used if a component has the pointer attribute??)

(3) The purpose for asking these questions is that I am considering wrapping existing Fortran 90 libraries in a COM wrapper. These libraries have their own derived types (e.g. TYPE(HashType) which have pointer types and no SEQUENCE attribute). It would be most desirable to encapsulate these existing derived types, without change, as components within a COM type:

TYPE

!!! SEQUENCE

TYPE(HashType) :: hash

END TYPE

Is it possible for a COM component to be a derived type?

(4) If the SEQUENCE attribute is necessary, what are the implications of adding the SEQUENCE attribute to my pre-existing derived types. Is there likely to be a performance hit?

Thank you,
David Vowles.

1 contenuto / 0 nuovi
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione