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

Fortran Module Wizard

Satwant_W_
Beginner
3,650 Views

I have a VB6 project that is written to interact with Fortran and get the data back to the user. We opened up Fortran and through the wizard created the module containing the Automation interface of the objects. This process created a whole bunch of code in a .F90 file. This works fine and we get the desired results that we are looking for. However when i upgraded the code to VB.Net and tried to replicate the steps through Wizard we don't get the similar code that was generated for VB6. Infact a .F90 file is created with just about 6 lines of code and at the end of the code we see a line that says " ! No interfaces of the type requested were found". On the first screen of the wizard i check the box "Generate code that uses automation interface" and then i can choose any options on the second screen and get the same results all the time. Am i not following some steps or missing some steps? I am using Windows 7, VS 2008 and Studio XE 2013. Please let me know what i need to do as i have spent quite a bit of time trying to make this work.

SW

0 Kudos
35 Replies
Steven_L_Intel1
Employee
1,418 Views

The warnings aren't new - they were there before. The program now links - my guess is that the registry entries pointing to the installation directory got corrupted. If you want you can add the path under Tools > Options > Intel Composer XE > Visual Fortran > Compilers > Library Files so it will work for all projects.

0 Kudos
Satwant_W_
Beginner
1,418 Views

Steve, You mean add this path "C:\Program Files\Intel\Composer XE 2013\compiler\lib\ia32" under library files?

0 Kudos
Steven_L_Intel1
Employee
1,418 Views

Yes. Add it to the end of the list.

0 Kudos
Satwant_W_
Beginner
1,418 Views

Steve, I have a VB.Net project that gets called by a ForTran project. When i try to use the fortran compiler to generate the code off of my VB.Net project it does not create all the necessary code that it usually creates from a VB 6 project. Any ideas what am i doing wrong?

Thanks.

0 Kudos
Steven_L_Intel1
Employee
1,418 Views

Satwant, we'd need to see your VB project and detail of the steps you followed. This might be better handled through Intel Premier Support. If I recall correctly, there is likely to be some difference between the COM DLL with type library that VB6 creates and the .NET assembly that later VBs create, but this is not an area I am very familiar with.

0 Kudos
Satwant_W_
Beginner
1,418 Views

Steve, Why do I get this error when using the Fortran wizard to generate VB.Net interface routines "! No interfaces of the type requested were found" Any idea what could be causing this.

0 Kudos
Steven_L_Intel1
Employee
1,418 Views

Again, I'd need to see what you were trying to use it on - if your VB.NET thing is a .NET assembly, you'll need to use the .NET option in the wizard.

0 Kudos
Satwant_W_
Beginner
1,418 Views

Steve, I spoke with my manager and he advised against sending the code over as it is against company policy (hope you understand), but he advised on sharing the code with you through live meet that he can set up through WebEx. Is this something that you might be able to do. We definitely need your help on this as we are stuck and can't move forward. we will work with the time slot that is convenient for you. Please advise.

0 Kudos
Satwant_W_
Beginner
1,418 Views

Steve, I am not sure if you got my last post but i am posting this again.

I spoke with my manager and he advised against sending the code over as it is against company policy (hope you understand), but he advised me that he can set up a live meeting through WebEx where I can share my screen with you and you can have control over the application. Of course we will work on your time schedule whenever you are free. Please advise if this would be something that would work with you. We desperately need your help on this as we are stuck and can’t move forward with our project.

0 Kudos
Steven_L_Intel1
Employee
1,418 Views

I'll send you an email.

0 Kudos
Satwant_W_
Beginner
1,418 Views

Steve attached is the zip file that contains the bin folder of the .net files as well as the Fortran generated code for our vb6 exe file. Let me know if you require any thing more from me in order to get us the solution to the problem that we talked about.

Satwant

0 Kudos
FortranFan
Honored Contributor III
1,418 Views

FortranFan wrote:

SW,

In your VB.NET project, have you made sure to do the following?

1)  Register it for COM Interop?  Remeber the Fortran module wizard allows Fortran to interact with COM applications, hence the .NET application must include interoperability with COM.

2)  Follow the .NET requirements for COM interop?  i.e., include interfaces for all the exported classes and their properties and methods.  If not, you can refer to Microsoft Help in Visual Studio for details on the interfaces.  If your .NET code will see future revisions and updates, it may be useful to specify explicit GUIDs (using the Guid attribute in your .NET code) for every item that is to be made visible to COM.

 

Satwant, Steve:

Looking at the DLL and the F90 file created by the Intel module wizard, it is clear the VB application is NOT setup adequately for COM Interop e.g., no methods are present in the type library (TLB file).  See my earlier post quoted above.

As of this point, I feel the issues are all on the VB side.  I would suggest first testing and validating VB application for COM interop independent of Fortran, say using a test application written in C++ or Visual Basic 6.0 or even Microsoft Excel VBA.  Only after confirmation that everything works as intended in COM do you even need get into Fortran.

My two cents,

0 Kudos
Satwant_W_
Beginner
1,418 Views

Please, Assign this case to Steve Lionel.

0 Kudos
Satwant_W_
Beginner
1,418 Views

We have tested this application before trying to interact with Fortran and we get the results that we expected. Only when we try to generate interfaces through Fortran wizard that we fail to get anything. When we do the same thing in VB6 we get the expected results but having problems with .Net version of the same application.

0 Kudos
FortranFan
Honored Contributor III
1,418 Views

Satwant W. wrote:

We have tested this application before trying to interact with Fortran and we get the results that we expected. Only when we try to generate interfaces through Fortran wizard that we fail to get anything. When we do the same thing in VB6 we get the expected results but having problems with .Net version of the same application.

But have you tried to interact your .NET version of the application with VB6?  Does this work ok?  If yes, what interaction is taking place i.e., are there methods or properties in the .NET app that are getting called by VB6?  Your type library doesn't seem to have anything useful in it.

Only if VB6 interacts successfully with the .NET version can you consider interacting Fortran with your .NET application.

 

0 Kudos
Reply