PSS ID Number: 108410
Article Last Modified on 3/24/2000
C Compile options needed: none
C FORTRAN Main Source:
interface to subroutine bar[dllimport]()
end
common /bridge[dllimport]/ i
integer*4 i(4)
i(2) = 2
write(*,*) 'In Main: i = ', i
do loop=1,4
write(*,*) 'In main: i = ', i(loop)
end do
write(*,*) 'Calling DLL routine...'
call bar
c The commented line below illustrates the suggested workaround:
c write(*,*) 'In Main: i = ', (i(loop+0),loop=1,4)
write(*,*) 'In Main: i = ', (i(loop), loop=1,4)
do loop=1,4
write(*,*) 'In main: i = ', i(loop)
end do
end
C FORTRAN DLL Source:
subroutine bar[dllexport]()
common /bridge[dllexport]/ i
integer*4 i(4)
i(3) = 33
write(*,*) 'In DLL: i = ', i
return
end
In Main: i = 550774271 637468674 139472 -1869574000 In main: i = 0 In main: i = 2 In main: i = 0 In main: i = 0 Calling DLL routine... In DLL: i = 0 2 33 0 In Main: i = 550774271 637468674 139472 -1869574000 In main: i = 0 In main: i = 2 In main: i = 33 In main: i = 0
Additional query words: 1.00
Keywords: kbbug KB108410
Technology: kbAudDeveloper kbFORTRANPower32100NT kbFortranSearch kbZNotKeyword2