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

Version 8 Pro & COM Objects

lpartin1
Beginner
700 Views
Steve,
Does version 8 have the COM object features of CVF to automate the generation and use of COM objects? I currently use the CVF Fortran COM Wizard Server for many of my projects.
Thanks,
Lee
0 Kudos
6 Replies
Steven_L_Intel1
Employee
700 Views
8.0 has the Module Wizard (for generating interfaces to COM objects) and the various modules such as DFAUTO, but does not include the COM Server Wizard from CVF Pro. That may get added back in later.
Theoretically, you should be able to use the modules generated by CVF's COM Server Wizard if you set the default calling convention to CVF. I haven't tried this myself, though.
For IVF, the only added feature of the Pro edition will be IMSL.
0 Kudos
lpartin1
Beginner
700 Views

Steve,

I use the COM server wizard in many of my projects. Iapply fortran toperformnumerical calculations as a COM object andthen interface it with Excel or C# as the user interface. I'll wait untilthe featureis included to make the switch to Intel.

Thanks,
Lee
0 Kudos
hweisberg
Beginner
700 Views

For what it is worth ...

If you are using C# as a front end for a Fortran computational engine, you can compile the Fortran as a DLL and call directly into it from C# using Platform/Invoke. There is a slight learning curve related to marshalling data in and out, but basically it is easy.

If you need to create a COM object, for example to interface with Excel, youshould be able to do that in a C# wrapper around the Fortran DLL, using COM Interop.

0 Kudos
lpartin1
Beginner
700 Views

I initially used the DLL approach to link fortran numeric calculations with an Excel spreadsheet. I learned all of the ways to pass information between VB / VBA and a CVF DLL. I have not learned the methods for C# as yet.

When the COM server option came, I quickly switched. COM objects provide a richer interface. It is much easier to get multiple instances of the COM object and it works in a similar manner throughout Windows software.

I also appreciate the convenience of a COM object from CVF. A single file (and possibly the run time DLL) is all that you distribute. I expect that it is much different as a C# wrapper.

Thank you for the information. I expect that I will find reasons to generate COM objects from C#. I have been impressed so far by the ease of creating fantastic Windows programs in C#.
Lee
0 Kudos
rahzan
New Contributor I
700 Views

I've "voted" on this before, but I prefer to vote early and often.

Without the com server wiz'd switching is not worth the trouble for the gain (if any!). Especially now that we've found out those who bought IVF last year in hopes of inexpensive upgrade, actually have to pay a lot more to upgrade to the pro version compare to having simply waited.

The com server ability uniquely targets the types of users who use Fortran for business app's. Remember that it was just this sort of thing which relegated fortran to the dinasaur status! andforced the business users toabandon a good language in favor ofother ugly but effective ones.I'm sorry to see this trend continuing and in this case going backwards.

IVF should at least provide some guidance for generating com servers if not the wiz'd itself.

swithing compilers back and fro just to get thecom server interface generated is nuts!

tim

0 Kudos
Peter_Priestley
Beginner
700 Views

I'll second Tim's comments.

It is made worse by apparent bugs in IVF8 which mean a COM Server project from CVF6 can't currently be built successfully in IVF8. The most obvious bug was canvassed in the thread "Can't find FLUSH() in IFPORT using IVF8...". I have raised this general issue with Premium Support.

I would like to be a fly on the wall at Intel and find out why it was too difficult to port in existing COM Server wizard functionality! After all, they are the brilliant ex-Digital engineers who created it in the first place?

0 Kudos
Reply