Dynamic Link Libraries
Posted on 2002-05-20
I was searching the internet for information on using Dynamic Link Libraries and found your site very useful. I have a few questions I am hoping you can help me out with. Our companies main goal is to update our computer programs to a more user-friendly system. What we have been doing is taking programs written in FORTRAN from our VAX system and converting them to Excel programs. To date we have just used the equations from the FORTRAN programs and put them into Excel utilizing the Visual Basic editor to make nice Windows based user friendly programs.
In one of our Engineering meetings one individual suggested for some of the bigger programs that also contain proprietary data we should use Dynamic Link Libraries(DLL) to make the job easier and more secure. The idea we discussed in the meeting was to use a DLL to run the old FORTRAN program in Excel. Which from researching I don't think it can be done that way at all, correct? Currently our FORTRAN programs are on the server and not each PC, so if you are traveling you can not use the programs.
In our current Excel programs we have used password protection to keep out unwanted changes or even viewing of the code in the Visual Basic editor. I understand that these passwords with some malicious intent could be hacked into and perhaps the DLL would be safer because the program code would be on the server and not actually in the Excel Visual Basic editor.
From researching the topic I have some questions:
If we were to use the DLL concept, is it true the original FORTRAN code would have to be redone to remove all the user interface and have only the calculations in it and THEN a Visual Basic Code be written with the user interface that would call to our server to do the FORTRAN calculations? If this is true, it would seem easier to do the program over in Excel's Visual Basic editor and put the proprietary data of the program in a DLL on the server but in Visual Basic format, yes?
TRW Aeronautical Systems, Rome, NY
phone: (315) 838-1281
fax: (315) 838-1273 fax