- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
implicit none
integer :: hwnd
Generic procedure reference has two or more specific procedure with the same type/rank/keyword signature. [FINDWINDOW]
Can anybody tell me why? I'm using IVF10.0.26 and VS2003.
Thanks Jiri
Link Copied
- « Previous
-
- 1
- 2
- Next »
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Making such an appeal for input for the original ivf samples code continues to cause the app to fail on Vista.
Gerry
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You just did! You misunderstood what I reported.
Gerry
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Read the record.
I hasten to point out to you that I tried your 'sample' on Vista as a courtesy. Treat it as such.
Till next time
Gerry
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear developers,
I am converting a CVF project to an IVF project.
When a subroutine is calling optzcopy fromIntelSP.for from CVF, there was this error:
Error: The type of the actual argument differs from the type of the dummy argument. [%VAL]
It is related to an argument that is defined as
!DECS ATTRIBUTES REFERENCE :: src
So I added this directive to the optzcopy interface to skip the check:
!DEC$ ATTRIBUTES NO_ARG_CHECK :: src
Adding above directive removes the previous Error message, but creates a new one:
Error: Generic procedure reference has two or more specific procedure with the same type/rank/keyword signature. [OPTZCOPY]
What does this new error message mean and how to remove it?
Thanks, Patricia
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We would need to see more information to be sure, such as the declaration of OPTZCOPY and the calls, but my guess is that adding the NO_ARG_CHECK directive is not what you wanted. OPTZCOPY is evidently a generic procedure and by adding NO_ARG_CHECK you told the compiler to not consider the data type of "src" when trying to resolve the generic, but that then made it ambiguous.
Show us the complete declaration of OPTZCOPY, the call you were making, and the declarations of the arguments in the call.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Steve.
There are apparently inconsistencies in the calls that are using "src". Below are the details, could you give some hints how to remove both error messages ? Thanks!
1. The call to optzCopy that generates the 1st error :
Error: The type of the actual argument differs from the type of the dummy argument. [%VAL]
call doptzCopy(%val(M%YMl%nu),tapsN(1),M%YMl%nN)M is a target with a self-defined type.
I added NO_ARG_CHECK directive.
2. That leads to the second error for another call:
call optzCopy(Y(1),YR(1),nSamples)
Error: Generic procedure reference has two or more specific procedure with the same type/rank/keyword signature. [OPTZCOPY]
Y is a real*8 pointer.
3. Here's the interfaceinterface
optzCopy subroutine sOptzCopy(src,dst,n) !DEC$ ATTRIBUTES STDCALL, ALIAS:'_nspsbCopy@12' :: sOptzCopy ! x86 systems !DEC$ ATTRIBUTES REFERENCE :: src !DEC$ ATTRIBUTES REFERENCE :: dst !DEC$ ATTRIBUTES VALUE :: n integer*4 :: n real*4 :: src,dst end subroutine sOptzCopy subroutine dOptzCopy(src,dst,n) !DEC$ ATTRIBUTES STDCALL, ALIAS:'_nspdbCopy@12' :: dOptzCopy ! x86 systems !DEC$ ATTRIBUTES REFERENCE :: src !DEC$ ATTRIBUTES REFERENCE :: dst !DEC$ ATTRIBUTES VALUE :: n integer*4 :: n real*8 :: src,dst end subroutine dOptzCopy module procedure dToSOptzCopy module procedure sToDOptzCopy module procedure i1OptzCopy end interface optzCopy- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is the datatype of M%YMl%nu? Why are you using %VAL?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Data type of M%YMI%nu is
integer(int_ptr_kind()), it is passed from a Graphical interface to the Fortran routines,I thinkthat's why it is using %val.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
real(4) tempsrcr4
real(8) tempsrcr8
pointer (p_tempsrc, tempsrcr4)
pointer (p_tempsrc, tempsrcr8)
...
p_tempsrc = M%YMI%ni
Now pass tempsrcr4 or tempsrcr8 rather than the %VAL() expression, depending on what you want the type to be.
What you're doing would likely work IF you were not using explicit interfaces.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- « Previous
-
- 1
- 2
- Next »