- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
My problem is about calling a CVF DLL from VB.Net. This dll involves a derived data type.
I never had problems with Visual Basic 6.0, but I really don't know how to make all this work with VB.NET.
First of all I create a very simple dll which should export a record with various data types (a fixed lenght string, a numeric value and an array along with the number of items stored in it.
I can easily use this DLL in Visual Basic 6 with the following code in a module
and this code in the form
How can I do the same thing using Visual Basic .NET instead of VB 6 ???
THANKS TO ANYONE WHO CAN HELP ME!!
I never had problems with Visual Basic 6.0, but I really don't know how to make all this work with VB.NET.
First of all I create a very simple dll which should export a record with various data types (a fixed lenght string, a numeric value and an array along with the number of items stored in it.
subroutine CVF_VBNET_DLL(myrecord) !DEC$ ATTRIBUTES DLLEXPORT::CVF_VBNET_DLL !DEC$ ATTRIBUTES ALIAS : "CVF_VBNET_DLL" :: CVF_VBNET_DLL ! Variables integer max_npts, i parameter(max_npts=100) type t_type sequence character*(20) mystring double precision mypar double precision myarray(max_npts) integer npts end type t_type type(t_type)::myrecord ! Body of CVF_VBNET_DLL ! I fill up myrecord with some values ! I want VB.NET to read the values of this record myrecord%mystring="This is mystring" myrecord%mypar=123.456 myrecord%npts=10 do i=1,myrecord%npts myrecord%myarray(i)=i**2 enddo end subroutine CVF_VBNET_DLL
I can easily use this DLL in Visual Basic 6 with the following code in a module
Option Explicit Public Declare Sub CVF_VBNET_DLL Lib "CVF_VBNET_DLL" (myrecord As t_type) Public Type t_type mystring As String * 20 myval As Double myarray(1 To 100) As Double npts As Long End Type
and this code in the form
Option Explicit Private Sub Command1_Click() Dim myrecord As t_type Dim temp As String Dim i As Long Call CVF_VBNET_DLL(myrecord) With myrecord For i = 1 To .npts temp = temp & .myarray(i) & vbCrLf Next i Text1.Text = .mystring Text2.Text = .myval Text3.Text = .npts Text4.Text = temp End With End Sub
How can I do the same thing using Visual Basic .NET instead of VB 6 ???
THANKS TO ANYONE WHO CAN HELP ME!!
Link Copied
0 Replies
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page