I'm trying to implement calls to an existing C-based DLL within a C# program. It sounds straightforward enough, but any calls to the extern functions produce a NullReferenceException.
My code looks like this:
[DllImport( @"e:\jbhexe\sscam.dll", EntryPoint="BAM_calcs" )]
public static extern int bamCalcs( long settlementDate,
ref bamDescr descr, long calcToWhich, ref bamResults results,
long precisionFlag, long checkInput, ref long status,
ref byte[] statusText );
and the exception is thrown on the call:
bamCalcs( settlementDate, ref descr, calcToWhich, ref results,
precisionFlag, checkInput, ref status, ref statusText );
I'm guessing that I have to create an instance using Type.GetType(), but since the dll is C-based, I can't figure out what parameters to pass.
If someone has insight into this, your response would be appreciated.
Please contact me at danmehlman@hotmail.com.
Thank you.
Mattias Sj?gren - 27 Dec 2004 23:44 GMT
Dan,
I'm guessing that your function signature is incorrect, I doubt that
you should be using long for some of the parameters. Keep in mind that
a long in C# is a 64-bit integer.
Mattias

Signature
Mattias Sjögren [MVP] mattias @ mvps.org
http://www.msjogren.net/dotnet/ | http://www.dotnetinterop.com
Please reply only to the newsgroup.