2009年,我編寫了一個小應用程序,將一個Fortran DLL(內容不可用)調用到VB.NET應用程序中。有效。但是,我現在需要重新訪問代碼,並發現VB.NET應用程序如果在Visual Studio Community 2017中編譯,將無法從原始源代碼運行。從VB.NET調用Fortran程序
Fortran dll的參數是一個組合的整數,實數陣列和字符的:
SV is a string (array of Fortran characters?)
IV is an array of Fortran integers
RV is an array of Fortran reals
在VB代碼,我使用:
Dim IV(1279) As Integer
Dim RV(15999) As Single
Dim IERR As Integer
Dim SV As New String(" ", 5120)
Dim FileDir As New String(" ", 64)
Call FORT_SUB(SV, 5120, IV(1), RV(1), IERR)
所得EXE崩潰在呼叫線路。我只能認爲語法要求必須稍微改變,我現在需要使Fortran調用稍有不同...
'呼叫線路上的崩潰'不是很具描述性。當您在調試器中運行代碼時,什麼是異常消息? – TnTinMn
程序和dll都在相同的處理器架構下編譯?例如64位或32位?嘗試重新編譯您的程序以匹配dll。 –
未知模塊中發生未處理的「System.BadImageFormatException」類型異常。 無法加載文件或程序集'VBNET.exe'或其某個依賴項。此程序集由比當前加載的運行時更新的運行時構建,無法加載。發生了 – Sneezo