- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've just tried to generate the com interfaces for the Microsft Access 11.0 Object Libary. The code is generated in a fortan file MSACC.f90. When I try to compile this file I get several errors relating to "no matching specific subroutine to thisgeneric subroutine[AUTOADDARG]. I've included one example interface where such an error occurs (Bold text).
[cpp] FUNCTION $BoundObjectFrame__Evaluate($OBJECT, bstrExpr, ppsa, $STATUS) IMPLICIT NONE INTEGER(INT_PTR_KIND()), INTENT(IN) :: $OBJECT ! Object Pointer !DEC$ ATTRIBUTES VALUE :: $OBJECT CHARACTER(LEN=*), INTENT(IN) :: bstrExpr ! BSTR TYPE (VARIANT), DIMENSION(:), INTENT(IN) :: ppsa ! (SafeArray) !DEC$ ATTRIBUTES REFERENCE :: ppsa INTEGER(4), INTENT(OUT), OPTIONAL :: $STATUS ! Method status !DEC$ ATTRIBUTES REFERENCE :: $STATUS TYPE (VARIANT), VOLATILE :: $RETURN TYPE (VARIANT) $BoundObjectFrame__Evaluate INTEGER(4) $$STATUS INTEGER(INT_PTR_KIND()) invokeargs invokeargs = AUTOALLOCATEINVOKEARGS() CALL AUTOADDARG(invokeargs, '$RETURN', $RETURN, AUTO_ARG_OUT) CALL AUTOADDARG(invokeargs, '$ARG1', bstrExpr, AUTO_ARG_IN, VT_BSTR) CALL AUTOADDARG(invokeargs, '$ARG2', ppsa, AUTO_ARG_IN) $$STATUS = AUTOINVOKE($OBJECT, -5, invokeargs) IF (PRESENT($STATUS)) $STATUS = $$STATUS $BoundObjectFrame__Evaluate = $RETURN CALL AUTODEALLOCATEINVOKEARGS (invokeargs) END FUNCTION $BoundObjectFrame__Evaluate [/cpp]
Does anyone know why this is the case?
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your module calling AUTOADDARG() needs to USE IFAUTO.f90
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Your module calling AUTOADDARG() needs to USE IFAUTO.f90
Paul, I do have "use ifauto" in the full file. The listing in the above post is an extract, besides which the previous AUTOADDARG call is not listed in the error messages. This file was created by the Intel Module Wizard so it should include all the necessary statements.
The line which is supposed to be bold has inserted at the beginning. I tried to use the forum paste code feature but it doesn't seem to work properly. The list of formats includes most programming languages EXCEPT, ironically, FORTRAN so I tried the C++ option.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I haven't looked to see if this is the case here, but if the argument is INTEGER(1) you will have this problem since there is not yet support for that. I have been promised that this will be resolved in the next release.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page