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

A VB.NET DLL calling by Fortran

Schwandt__Olaf
初學者
1,667 檢視

Hi there,

and here is my second question today.

I like to call a VB.NET by Fortran. But I don't know how. I don't understand how t call a object-oriented language by Fortran.

 

Thanks

 

Olaf

0 積分
10 回應
Steve_Lionel
榮譽貢獻者 III
1,667 檢視

There are two examples of doing this in the Parallel Studio XE for Windows Sample Bundle: MixedLanguage\VB-Calls-Fortran is the simplest.

Schwandt__Olaf
初學者
1,667 檢視

Hi Steve,

thank you very much, but I like to call a VB.NET DLL FROM Fortran, so I look for Fortran-Calls-VB.NET.

Can you help again?

Olaf

Steve_Lionel
榮譽貢獻者 III
1,667 檢視

It would have to be a native mode DLL, in which case you would call it just the same as any other DLL. You would have to make sure you have the naming and calling conventions right (STDCALL on IA-32), and a lot of VB argument types won't map to Fortran in that direction.

What exactly are you trying to do here? Show the declaration of a VB routine you want to call.

Schwandt__Olaf
初學者
1,667 檢視
Hi Steve, I have a VB,DLL from another application. In the handbook from that is written a call from a another VB.NET. Here is an extract : Public net1 As New NNToolNetLib.NNToolNet

With net1 .... a = .NNLoadF(DscFile) .... For i = 1 To .InputCount
.NetInput(i) = CStr(i * 10.1) Next a = .NetEvalF ... For i = 1 To .OutputCount a = 1 To .NetOutput(i) --- Next .... But I need to do that in Fortran or if necessary in C++ Regards Olaf
Steve_Lionel
榮譽貢獻者 III
1,667 檢視

You have not shown what the interface to the procedure is.

Schwandt__Olaf
初學者
1,667 檢視

Hi Steve,

thank you for your answer.

That interface is all I have.

I couldt write an interface routine between the vb.net dll and fortran, I would say in VB.NET. But I don't know how.

regards

Olaf

Steve_Lionel
榮譽貢獻者 III
1,667 檢視

That's not an interface. The declaration of the routine is somewhere else. My guess, though, is that the routine is VB.NET specific and doesn't support calls from other languages. You can try calling into a VB routine you write that then calls this other routine.

Schwandt__Olaf
初學者
1,667 檢視

Here is the attachment

Schwandt__Olaf
初學者
1,667 檢視

Hi Steve,

I found in the environment of the commercial VB.NET-DLL a directory, wich is called "LibFIles"

I give you the files attached. Is someone of this what we need?

Olaf

Steve_Lionel
榮譽貢獻者 III
1,667 檢視

I have no clue what to do with the contents of that ZIP. I don't see anything I recognize as a source file.

回覆