Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Building COMServer in IVF8

Peter_Priestley
Beginner
337 Views
To test the theory that COM Server projects could becompiled in IVF8, even though the COM Server Wizard is absent, I tried the following.
Made the 'Adding Machine' example project (from the CVF COM Server documentation) and compiled it successfully with CVF6.
Copied the project files to a new directory.
Delete all old output files in Debug and Release subfolders.
Opened the project in Visual Studio 2003. (IVF8 evaluation previously installed).
At this point there is an item on the Project menu called 'Extract Compaq Visual Fortran Project items'. Selecting this seems to set all the Fortran project options as they were in CVF.
Right click 'server.idl', go to Properties. On the Output tab, change the Type Library to '$(OUTDIR)/Server.tlb' (rather than adder.tlb).
Compiling at this stage produces lots of link errors, mainly for library routines in IFCOM. (stdcall vs cdecl type problems).
Right click Project node, go to Properties. Under Fortran, External Procedures, change Calling Convention to Default. (was CVF). Now, this appears a dangerous thing to do, but even in the CVF code, most COM interface routines that need to be stdcall are explicity marked 'DEC$ATTRIBUTES STDCALL....', so worth a try to solve the IFCOM link errors.
Compile and link are now OK, but fails on the very last step which is the dll registration. Manually running 'regsvr32 adder.dll' also fails so it appears the dll is not strictly correct in a COM sense.
So near and yet so far...
0 Kudos
0 Replies
Reply