I'm having problems getting com to work. Specifically, when I create a method with the fortran com server wizard I can't get the dam thing to work with arrays. Even more specifically, I create the method via the new button. I then highlight the new method name and hit new again. With argument specified I hit ok which causes the argument operand properties dlg to be displayed. I then describe the data type as real(8) and check the array argument check box. I set the rank to 1 and the dimension from 1:6. I then select save and port in the appropriate subroutine from the +.f90. I can compile with no problems. Now for where the problem manifests itself.
In my VC++ client. I've done the necessary steps to get an appropriate pointer to the interface. When I try to call the function that takes an array as an argument through the interface with an appropriately defined array and compile, I get an error stating 'cannot convert parameter 1 from 'double ' to 'struct tagSAFEARRAY *'. If I type cast the array to (SAFEARRAY *) I can get it to compile but when I step into the FORTRAN com routine that uses the array I get the runtime error Access Violation when I try to use the array. So what's going on. A prompt response would be greatly appreciated
My compiler version: Compaq Visual Fortran Professional Edition Version 6.5
Operating system: Windows NT 4.0 with service pack 6
Processor: GenuineIntel Family 6 Model 6 466 MHz Stepping 10