Passing Argument To Or From A FORTRAN DLL From .NET?

Feb 1, 2010

I have a DLL written in fortran that I know works because I am getting it from a working software package that we use daily. I am trying to call it from anything but am having problems i believe with passing the correctly formatted arguments in and out of it, so i decided to try and access it from a VB program. I chose VB because I have contacted the developer of the software package we are using and he gave me his DLL function call in VB6, even though he is not allowed to show me the FORTRAN source.

Problem is (perhaps, i think) that I am writing in VB.NET, which has different data types than VB6. Can anyone see why i am am having problems. The error i get upon running is: "AccessViolationException was unhandled: Attempted to read or write protected memory. This is often an indication that other memory is corrupt."

[Code]...

View 3 Replies


ADVERTISEMENT

Passing Structures As Arguments For A Fortran DLL?

Sep 11, 2010

I could pass a User Defined Type data structure to a Fortran DLL, that contained Short Integers, Singles (real variables) and a series of Fixed Arrays, both short integers and real variables.I am upgrading my VB6 app to Visual Studio 2008 - VB, and I want to keep the same data structures as they are used in about 300,000 lines of code.I modified the Data Structure as follows below, making sure it is of Explicit Layout, since I want the position of all variables to be the same both in VS 2008 and Fortran.Two problems arise:

1) if the LayoutKind is Explicit, such as in the example below (only part of the data structue is shown, where "..." indicate part of omitted data structure members), whenever I try to run my app, I get the following exception message, which indicates that the VBFixedArray declared at Offset 154 is in conflict with some other object, unnamed by the exception handler.

Message="Could not load type 'MyApp.SomeStruct' from assembly 'MyApp, Version=1.32.3906.33480, Culture=neutral, PublicKeyToken=null' because it contains an object field at offset 154 that is incorrectly aligned or overlapped by a non-object field."

Source="MyApp"
TypeName="MyApp.SomeStruct"
StackTrace:[code]....

2) if the LayoutKind is Sequential, the app will start, all the data preceding the VBFixedArrays is passed to the Fortran Dll without problem; everything that follows the VBFixedArray is garbled and unusable. To check this, I have made a Fortran subroutine in the Dll to which I pass both the Data Structure and a vector; in the Fortran subroutine, all the elements of the data structure are equivalenced to individual positions in the vector; upon return from the Fortran subroutine, I compare the elements of the data structure and those of the vector.

The problem here is that the Data Structure contains some 1300 names, and is used extensively in the application, as it is the way to pass elegantly a lot of data pertaining to a mathematical model with only one adress when accessing the Fortran Dll, in which the computing engine lies.

<StructLayout
<StructLayout(LayoutKind.Explicit, Size := 9226, CharSet := CharSet.Ansi)>
Public Structure SomeStruct[code]......

View 5 Replies

Write Fortran Or To Integrate Fortran To VB 2010?

Nov 7, 2011

I was wondering if there was a way to write fortran or to integrate fortran to Visual Basic .net 2010..Maybe with adding a refferance or something? what options are available?

View 5 Replies

Passing Arrays Through Fortran Dll From App Turning To Single Element Arrays?

Feb 2, 2010

I have a VB.net console app and I am opening a function in a dll written in fortran. I am passing 3 arrays through the function by reference. When they come back out the otherside they ahve all tunred to arrays of only one element And that element is 0.I read on the internet somewhere that when doing this kind of thing it is a good idea to only pass the first element of the array into the function.I tried changing my function declaration to accepting single elements rather than single dimensional arrays, and now the arrays are the same length before and after the function call, but they don't seem to be changing at all, so i'm not sure that this is working

View 1 Replies

Argument Passing In C# And .NET?

Jan 14, 2012

In VB.NET, can we pass an original object as an argument without instantiating it? For example, I have two forms in my project formA and formB. Now I have this code.

[Code]...

Apart from this, in VB.NET in any class like formA, if I type formA, I can see all the objects and controls present there but not in C#. Again, I have to make a new instance to see all the controls. This becomes a problem if I want to manipulate two running and working instances with each other. So what basic thing am I missing here?(I am an amateur programmer migrating from VB.NET to C#. Things are going nice and clean expect for the ones I've recently figured out.)

View 3 Replies

Passing A Type As An Argument?

Aug 12, 2010

I'm using VB.NET 2003 with .NET Framework v1.1. I know it's getting a bit old now but I'm stuck with an existing program and don't have the time/knowhow to convert it to anything newer.

My question would probably be solved very easily with Generics in .NET 2.0 but as I can't use that right now, I'd like to know if the following is possible:

I have a load of manager classes which inherit from DictionaryBase and hold collections of my custom classes. For example, I have a Employee class, a Batch class, a Supplier class, etc... and each of these has a Manager classwhich holds a collection of them - eg: my PlantTrayMgr class holds collections of PlantTrays, etc..

I have one particular form where I have to populate loads of comboboxes with the contents of various Manager objects. What I currently do in my form load event to populate comboboxes is this:

Code:
Option Strict On
Option Explicit On
Private _plantTrayMgr As PlantTrayMgr

[Code].....

View 4 Replies

Passing Argument Into Dll Call?

Mar 7, 2010

In my vb.net code I want to call a dll file created by Qt4.

Now everything works fine untill and unless I pass some string argument to the function.

Here is the function in dll file:

const char* QtEngineDll::randInt(char url[])
{
QString result;
/*QTextCodec *codec = QTextCodec::codecForName("UTF-8");

[Code]....

When the function returns some constant value, say if i put result = "Abhijit" then it returns the value properly. But if I want result to return value url the it is returning some garbage values.

View 8 Replies

Passing Argument To Shell()?

Jan 5, 2009

I'm designing an interface using visual basic .NET with visual studio tool. In my program I have to call an extern .exe using the function shell() and pass a FileName to it. The problem is that what it passes to the executable is never the file path. My code is this one and I think it should work but I don't know why, it doesn't.

Public Class FormMain
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

[code].....

View 15 Replies

Passing Array As Argument?

Feb 28, 2010

When I try to do the same in .net the "array argument" value of the second sub is either Nothing or I get an error saying "Value of type 'String' cannot be converted to'System.Array'."I've tried converting the array to a system.array but it will not hold all the Types of data it needs to hold. (I tried 3 days ago and don't remember what Types would cause an error. My 1st value is a string and the second is an integer and this caused some error.)

View 1 Replies

Passing Url Based Argument

Mar 27, 2011

I have written an application to register a url type extension at startup so in short if user inputs dld:// in any browser it loads my app now, what I want to do I want to somehow move a bit further like if user goes dld://about the application loads and shows the about page

View 5 Replies

Change Variable Value When Passing As Argument

May 18, 2012

is there a way i can do like this in vb.net

[Code]...

what i want is that idx keeps incrementing after each line, without incrementing it on a seperate line.

View 1 Replies

Force Passing Argument Byval?

Sep 16, 2010

I have an old unmanaged dll function and I want to pass an array to it.The dll function expects the array to be passed by reference.Sometimes I can do that and sometimes I need to pass a pointer in a variable.Is it possible to override the declare for the function so that I could pass either the array by ref, or a pointer to it if I need to?

View 15 Replies

Passing Command Line Argument?

Dec 15, 2011

I am a beginner using Visual Studio Express 2010 to create a small console app to use as a utility accompanying another primary app that can pass a command line to the utility. I would like to set it up so that the utility will not run independently but only run and load its only form (Form1) if it is launched by the primary app using a "/run" command line parameter. (I can set up the primary app to launch and pass a command line parameter. I need help with the utility's code.)

The utility already has some VB code, so I need to figure out what code to add to receive and act on the " /run" command line and even more challenging for me, where to place this new code so it works.

pseudo-code:

initial event to read the command line, then if it is " /run" load Form1, else do not open and run utility app.

View 13 Replies

BackGroundWorker Passing Argument In RunWorkerCompleted Event?

Jan 15, 2012

my current solution as you can see is by using shared variable within a class in order to pass a value.

on the form load of my application i called: workerSample.RunWorkerAsync

Dim finalList As List(Of String)
Private Sub workerSample_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles workerSample.DoWork

[Code].....

View 1 Replies

Passing A Array As A Argument To A Javascript Function?

Apr 20, 2011

Im trying to pass a array as a argument to a Javascript function from code behind(vb.net)
Code im trying

[code].....

View 2 Replies

Passing Structure As Argument Through Files / Functions

Jun 21, 2012

I can't get to pass structure as argument through subs/functions in different files of single vbnet project like I use to in earlier MS basic versions.[code]File "mysetup.dat" is reachable and data is saved correctly what I can see with HxD.But read part seem's to not work as expected. Please any help on reliable passing structure as argument without too much public elements based on upper example.

View 1 Replies

VS 2008 - Passing Class As Argument For Function

Mar 23, 2010

VB.NET is not letting me dance with both feet, or piss with both hands. I've got one foot and one arm tied behind my back at every turn. I want to use this statement in a function:
Return CType(Formatter.Deserialize(FS), DS)
Seems doable, right?

Function ReadFileStream(ByRef FS As FileStream, ByRef DS As Object)
Dim Formatter As New BinaryFormatter
FS.Position = 0
Return CType(Formatter.Deserialize(FS), DS)
End Function

Right? I mean, CType only accepts a class name as the second argument. I can't give it an instance of a class, or it croaks. Yet if I try to pass the class name as the argument to that function:
DataInfo = ReadFileStream(FileStream1, DataStruct)

VB.NET croaks on this, too, complaining that "'DataStruct' is a type and cannot be used as an expression.". It's used as an expression by CType just fine outside of the function. Does the VB.NET legislature provide a clause that allows for a 'Type' to be passed as an argument in a function? Writing all the supporting code ten million times to deserialize a file using CType ten million times in a large application will get very complicated and tricky very quickly. It should be handled by a routine so that any cases and adjustments that come up can be dealt with in one spot.

View 8 Replies

When Passing An Object As An Argument To A Method, String Properties Are Populated But Integers Are Null

Jan 27, 2011

I have a class and method exposed to a client asp.net app. The class looks like

<DataContract()> _
Public Class Class1
Private v_string As String
Private v_integer As Integer

[code]....

The method is declared as

<OperationContract()> _
Function GetStuff(ByVal bar As Class1) As String

In the client code I create an instance of Class1 and set the values for v_string and v_integer, but using Wireshark to look at the xml being sent to the server only a value for v_string is being sent as part of Class1. I'm guessing this is because it considers the value of v_integer to be null/not set. Here is an example of the client code.

Dim MyService as New Service1.ServiceClient
Dim test as New Service1.Class1
test.P_integer = 1

[code]....

how different types are passed/used since Integer is a intergral type and String is a class, but can't seem to work out what to do to fix the problem.

View 4 Replies

.net - FileInfo Passing FileInfo Argument To Method?

Oct 12, 2011

I have the following VB function which takes a FileInfo object as a parameter:

Public Shared Shadows Sub Start(ByVal filePath As FieldInfo)
XmlConfigurator.ConfigureAndWatch(New System.IO.FileInfo(filePath.ToString()))
End Sub

In another class I have the following code calling that 'Start' method. But VisStudio indicates there is a problem with the 'FilePath' argument that I'm passing.

[Code]...

View 1 Replies

Sql Server - Assign The Value I Queried To A String Which Is An Argument In A Procedure If The Argument's Data Type Is An Object?

Dec 5, 2011

I made this procedure re-use a select query:

[code..]

And I use it like this if I would want the selected value placed in a textbox and it works fine

[code...]

However if I want the value to be passed in a string like so:

[code...]

The string ends up having an empty string value. How do I assign the value I queried to that String?

View 2 Replies

Link Vb To FORTRAN?

Oct 5, 2006

I have several subroutines which are written in FORTRAN.

1) how I need to compile the FORTRAN subroutines?

2) what I need to do within VB 2005 to call these FORTRAN subroutines within the VB 2005 code?

View 1 Replies

Application Calling Fortran Exe

Nov 18, 2010

I am running one fortran exe in .net application(calling from command line with the help of system diagnostic process). If we directly click on fortran exe, it shows inputs to enter for fortran in command window, after input entered it gets executed. We want same behaviour but want to run fortran exe from .net application, If we click on button in vb.net form, this exe should get called and should show inputs to enter on the command line, once inputs entered it should execute. How to achieve this with .net application? Right now, after clicking on button in vb.net form, exe get's opened in command window, but it is blank, and gets hanged. [code]

View 1 Replies

Calling Fortran DLL Program?

May 11, 2011

have problem with calling a Fortran DLL from VB.net Program. The VB program provide the GUI while the Fortran DLL does the calculations.The Fortran DLL opens and reads from data files supplied by the VB program. however, DLL program displays a message that says it can not open the file.

View 1 Replies

VS 2005 Run Fortran Exe From .net Application?

Nov 18, 2010

I am running one fortran exe in .net application(calling from command line with the help of system diagnostic process).If we directly click on fortran exe, it shows inputs to enter for fortran in command window, after input entered it gets executed.We want same behaviour but want to run fortran exe from .net application,If we click on button in vb.net form, this exe should get called and should show inputs to enter on the command line, once inputs entered it should execute. How to achieve this with .net application?

Right now, after clicking on button in vb.net form, exe get's opened in command window, but it is blank, and gets hanged.Below is the error forrtl: error (200): program aborting due to window-CLOSE event Image PC Routine Line[code]....

View 1 Replies

AccessViolationException Was Unhandled - Calling Fortran Dll

May 27, 2010

I have a subroutine that was written in fortran that I need to call from VB.NET where all of my other functions are written. I did not write the fortran, and hardly know fortran. I am getting the below exception on my dll function call and don't know how to fix it. I wonder if it is due to incongruent variable lengths? I have the source for my fortran and compiled it using the g95 compiler. I have tried compiling it with a flag on which is supposed to force all of the reals to 32 bits (-r4). It weirds me out that you don't seem to be required to initialize variables before use in fortran. I thought it was supposed to be a ridged language.

[Code]...

View 2 Replies

Calling Fortran DLL From VB (Character Strings)

Jul 14, 2011

I am trying to call a fortran DLL from VB.NET. Fortran function requires two character strings to be passed from VB to fortran. I am able to run the code with a change after receiveing a AccessViolationException error. I dont understand why it worked can
some one whose professional explain me the difference. Here I am attaching the codes for reference

[Code]...

View 1 Replies

Calling Fortran DLL, Cannot Work In The Loop

Jan 15, 2010

I am calling a Fortran dll from vb.net. It works when I call it it one time only. When I put that in a loop, it works for the first time and second time it quits the program. How can I run this in a loop?

View 4 Replies

Closing Exe (including A Fortran Dll) After Executing?

Apr 20, 2010

I have 2 source codes in fortrran (I have not written them). I visualized these codes by linking them to VB2005.when I excuate the VB.exe, when VB calls one of these DLLs, there is no problem, but in calling the other DLL, the DLL is executed but the VB.exe is closed and the interface page to the user goes out.

View 1 Replies

Pass A String From VB 2010 To A Fortran DLL?

Aug 3, 2011

I can pass integers, singles, doubles, and arrays of all these back and forth with no problem. But I can't figure out how to pass a string in Visual Basic 2010 to a character variable in the Fortran DLL. I keep getting the PInvokeStackImbalance error. I could just convert the Visual Basic string to an integer array containing the ASCII code for each character, send that, and convert back inside the DLL, but that's pathetic. There must be a simple way to do this.

I first tried using Dim txt(50) as Char in VB2010, and character*50 txt in the DVF F90 DLL but that didn't work.

Then I tried Dim txt as String in Visual Basic 2010 and made the string 50 characters long (also tried 49) but this didn't work.

View 2 Replies

VS 2008 : Run A Fortran Executable From A VB Form?

Nov 18, 2009

My challenge is to prepare for a presentation using a GUI interface to access a program written in Fortran.The Fortran program reads a data file and then writes an output file.For the presentation I need to be able to change a variable value in a VB form, update the data file, and run the Fortran program from the VB form.I also need to be able to create graphs using VB forms using the output file generated by the Fortran program.

View 2 Replies







Copyrights 2005-15 www.BigResource.com, All rights reserved