It allows you to create gigantic Excel spreadsheet, i.e. If you have over 4GB of memory and a 64-bit Windows operating system then you may consider upgrading to Microsoft Excel 2010 64-bit edition. I am not a professional programer.One of the most obvious new features of Microsoft Excel 2010 is its 64-bit edition. It is worth nothing that I use the dll for computing the properties of water and steam and that I use excel to dimension and design things.
Bear in mid that I am not even trying to run this on someone else pc but on mine where I compile and I have all the stuff.
How to give permissions to a specific file or directory for dll to work.ĭependency walker says that all the necessary stuff is there. I tried to google it and couldn't really find anything useful. This was my preferred suspect but I cannot find documentation about this. My preference though lies with specifying the path in the VB call as I did and as you can see in the VBA snippet.
I know that system32 is for 64bits and as soon as I had the excel 2010 64bits I compiled with 64 bits and placed the dll right there. So if you read my post I tried bot excel 2010 32 and 64 bits.
That was also my impression but our IT department here wanted to remove that doubt by having a more recent version Windows does have the habit of quitting silently when not finding a.
dll for such dependency by dumpbin /dependents or dependency walker. dll provided by ifort, you would required that the ifort or corresponding distributable library package is installed and the. In win7 you also have security protections not present in XP, so you need to examine attributes, e.g. Even if it worked, there would be questions about doing that as opposed to assuring that it is placed on user PATH. dll for 64-bit mode, so that could work only if you had a 64-bit mode Excel (unlikely) and you had built a 64-bit. System32 is where Windows X64 expects to find system. dll, but you seem to be shooting in the dark rather than reading docs. That wouldn't affect the validity of the. The incompatibility of the old ifort with win7 is probably only that the installer is likely to fail. I have also attached this MWE as a zip file. The lack of error message on excel side puzzles me since I have no clue what it is wrong and what to fix. If I try to debug from Fortran it never enters the dll and hence is never captured by the debugger. The funny thing is that excel writes #value! but doesn't raise any issue. I tried to put it together with the excel file, in system32 and in a few other places with no success. I manually copy the dll in the position specified to keep the path short. Test_Dll1 = TEST_DLL1_F(Arg1, Arg2, Arg3) Visual basic for application code: Private Declare PtrSafe Function TEST_DLL1_F Lib "C:\tmp\test_Dll1.dll" (ByRef x As Double, ByRef y As Double, ByRef z As Double) As Doubleįunction Test_Dll1(Arg1 As Double, Arg2 As Double, Arg3 As Double) As Double !DEC$ ATTRIBUTES DLLEXPORT, STDCALL, REFERENCE, ALIAS:"TEST_Dll1_F" :: test_Dll1 ! Expose subroutine test_Dll1 to users of this DLL
! FUNCTIONS/SUBROUTINES exported from test_Dll1.dll: Since at this point I am lost I am posting my case hoping that someone will spot a problem: I removed the Excel 2010 32bit and substituted with Excel 2010 64bit, no improvement. They answered with a fix and I implemented the fix. I created a minimum working case that still reproduces the problem and submitted to intel to ask for their help. I asked and obtained a new Intel(R) Visual Fortran Compiler XE 14.0.1.139 and immediately tried again to compile my dll. The first thing I noticed was that the Intel Fortran Compiler 10 was advertised by Win7 as not compatible and I thought that was the problem. My company gave me a new laptop with Window7 and Excel 2010 32bit on it and suddenly nothing works. Here is the problem: I used to have a DLL built in Intel fortran compiler 10 and I used to call it from Excel 2003 in my old WinXP laptop.
I have read a few threads on this forum about this very problem and I think I have implemented all the suggestions but still cannot solve my problem.