Hi,
I'm working on a project that requires us to call some mathematical
functions that are in a Fortran dll. I'm trying to call the function
using P/Invoke, but I keep getting a null reference exception, anyone
have any ideas? Here's my code:
[DllImport(@"Tre ndFit.dll", EntryPoint="Tre ndFit")]
public static extern int trendfit(
int lNPt,
double dblX,
double dblY,
double dblSdY,
int lNCoeff,
double dblCoeff,
double dblV,
double dblVF);
private void button1_Click(o bject sender, System.EventArg s e)
{
int lNPt = 30;
double dblX = 38222.566446759 3;
double dblY = 19.846926035825 2;
double dblSdY = 1;
int lNCoeff = 2;
double dblCoeff = 0;
double dblV = 0;
double dblVF = 0;
int result = trendfit(lNPt, dblX, dblY, dblSdY, lNCoeff, dblCoeff,
dblV, dblVF);
// result should be 0
textBox1.Text = result.ToString ();
}
Many thanks.
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it! 6 1618
Maybe wrong calling convention? You can use a special Attribute to specify
it.
Or maybe you have to call a special Init routine of this library to set some
internal variables.
A null reference exception from native code is a hint that a page fault
occured in the native code like a wuninitialized pointer or similar..
"jacob ya" <ja*****@netzer o.net> schrieb im Newsbeitrag
news:uB******** ********@TK2MSF TNGP11.phx.gbl. .. Hi,
I'm working on a project that requires us to call some mathematical functions that are in a Fortran dll. I'm trying to call the function using P/Invoke, but I keep getting a null reference exception, anyone have any ideas? Here's my code:
[DllImport(@"Tre ndFit.dll", EntryPoint="Tre ndFit")] public static extern int trendfit( int lNPt, double dblX, double dblY, double dblSdY, int lNCoeff, double dblCoeff, double dblV, double dblVF);
private void button1_Click(o bject sender, System.EventArg s e) { int lNPt = 30; double dblX = 38222.566446759 3; double dblY = 19.846926035825 2; double dblSdY = 1; int lNCoeff = 2; double dblCoeff = 0; double dblV = 0; double dblVF = 0;
int result = trendfit(lNPt, dblX, dblY, dblSdY, lNCoeff, dblCoeff, dblV, dblVF);
// result should be 0 textBox1.Text = result.ToString (); }
Many thanks.
*** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it!
Please respond if that is solving your problem, because Iam interested if my
ideas were correct.
"jacob ya" <ja*****@netzer o.net> schrieb im Newsbeitrag
news:uB******** ********@TK2MSF TNGP11.phx.gbl. .. Hi,
I'm working on a project that requires us to call some mathematical functions that are in a Fortran dll. I'm trying to call the function using P/Invoke, but I keep getting a null reference exception, anyone have any ideas? Here's my code:
[DllImport(@"Tre ndFit.dll", EntryPoint="Tre ndFit")] public static extern int trendfit( int lNPt, double dblX, double dblY, double dblSdY, int lNCoeff, double dblCoeff, double dblV, double dblVF);
private void button1_Click(o bject sender, System.EventArg s e) { int lNPt = 30; double dblX = 38222.566446759 3; double dblY = 19.846926035825 2; double dblSdY = 1; int lNCoeff = 2; double dblCoeff = 0; double dblV = 0; double dblVF = 0;
int result = trendfit(lNPt, dblX, dblY, dblSdY, lNCoeff, dblCoeff, dblV, dblVF);
// result should be 0 textBox1.Text = result.ToString (); }
Many thanks.
*** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it!
I tried all of the different calling conventions available and none of
them worked. I've also tried passing all of the parameters by reference
which is what I think I need to do because I have the source code from a
VB6 app that calls the same DLL and it passes all values ByRef. The VB6
app doesn't call any Init functions or anything like that, so I don't
believe that is the issue. I think that datatype mismatches between VB6
and VB.NET/C# could be an issue as well. I'll let you know when I get
it working.
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
I changed all my parameters to pass by reference and the call to the
function actually works, but the NullReferenceEx ception is now being
thrown once the calling function terminates. This seems like a cleanup
issue to me. I'm going to keep investigating, but if anyone has
experienced this same problem or has a solution, your advice would be
much appreciated. Thanks.
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
IIRC, in VB an int was only 16bit so you could try to pass short instead of
int.
"jacobya" <jacobya@NOSPAM netzeroDOTnet> schrieb im Newsbeitrag
news:u1******** ********@TK2MSF TNGP14.phx.gbl. .. I changed all my parameters to pass by reference and the call to the function actually works, but the NullReferenceEx ception is now being thrown once the calling function terminates. This seems like a cleanup issue to me. I'm going to keep investigating, but if anyone has experienced this same problem or has a solution, your advice would be much appreciated. Thanks. *** Sent via Developersdex http://www.developersdex.com *** Don't just participate in USENET...get rewarded for it!
Actually, the VB version was using long, so I already accounted for
that, but thanks.
*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it! This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Bigdakine |
last post by:
I don't know if this is the right forum for this, and if not please suggest one
which fits.
I have to call a fortran sub routine from a C main program.
The fortran subroutine statement is
wload(starttime, duration, station, component, dataray, nsamp, calib, srate,
samplength, datadir)
|
by: travisperkins03 |
last post by:
Hi,
I have read somewhere that C code sometimes cannot be compiled to be as
efficient as FORTRAN, eg for matrix multiplication, because a C
compiler cannot make the assumptions about arrays that a FORTRAN
compiler can. But I don't understand the example, not least because I
don't understand FORTRAN. I also don't understand why it is more
efficient in this case for a compiler to choose the order of evaluation
(or whatever it is that it...
|
by: Ray J. |
last post by:
I have a C++ program written and compiled on Solaris 8 with gcc. With gcc
lets me compile fortran code along with the C++ program to be able to call
the fortran code as a subroutine. The specifications for this project have
changed and I am porting the C++ code to Visual C++. Is there a way to call
fortran code from a C++ program compiled with Visual C++?
|
by: Tyler |
last post by:
Hello All:
After trying to find an open source alternative to Matlab (or IDL), I
am currently getting acquainted with Python and, in particular SciPy,
NumPy, and Matplotlib. While I await the delivery of Travis Oliphant's
NumPy manual, I have a quick question (hopefully) regarding how to read
in Fortran written data.
The data files are not binary, but ASCII text files with no formatting
and mixed data types (strings, integers,...
|
by: Alexander Eisenhuth |
last post by:
Hello,
Ctrl+C is not passed to the interpreter (i guess it) while I'm executing a
script. Instead i get:
forrtl: error (200): program aborting due to control-C event
If I start python in interactive mode Ctrl+C is passed:
bash-3.2$ python
Python 2.5 (r25:51908, Sep 19 2006, 09:52:17) on win
| |
by: luis |
last post by:
I'm using ctypes to call a fortran dll from python. I have no problems
passing integer and double arryas, but I have an error with str arrys.
For example:
.....
StringVector = c_char_p * len(id) # id is a list of strings
Id_dat=StringVector()
for i in range(len(Id)):
....Id_dat=id
|
by: urkel |
last post by:
Hi everyone,
I critically need help to solve this problem related to pointer in C++
Basically, I have a C/C++ program "retardselfenerg" calling a Fortran 90 subroutine "surfGF4.f90". i am so doubtful if my definitions of pointer variables and their use in calling function are correct.
#include<bla bla bla......h>
#include<bla bla bla.h>
double surfGF4_(double*, double*, double*, double*, double*, double*, double*, double*, double*); ...
|
by: =?Utf-8?B?TWFyZWs=?= |
last post by:
Hi
As well as trying to call a fortran dll with a structure parameter from a C#
front end, we are trying to do this using AssemblyBuilder and MethodInfo to
do it dynamically. Ultimately this will be done using a configuration file,
but in the first instance I am trying to do this using code. The FORTRAN
structure looks like this:
TYPE Type1
! Scalars plus fixed dimension arrays
SEQUENCE
|
by: Gabriel Genellina |
last post by:
En Sun, 21 Sep 2008 19:42:10 -0300, Blubaugh, David A.
<dblubaugh@belcan.comescribió:
Below there is a transcript of a compile session. I've used a somewhat old
version of mingw and g77, scipy 1.1.1, python 2.5.2:
C:\TEMP\for>dir /b
dscal.for
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it.
First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed.
This is as boiled down as I can make it.
Here is my compilation command:
g++-12 -std=c++20 -Wnarrowing bit_field.cpp
Here is the code in...
| |
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |