关于vb.net调用dll时的内存问题
各位大神,小弟使用MATLAB的com组件方式将.m的函数打包生成了dll,然后在vb.net中调用。程序如下,在界面载入时我进行了初始化(由于初始化速度慢,所以在载入窗口时选择了初始化,而没有在后续调用之前初始化),然后当点击“按钮1”和“按钮2”是分别可以使用不同的参数调用已经初始化的函数计算。但是我在调试的过程中发现,当使用按钮1和按钮2进行了多次计算后,会弹出提示“尝试读写受保护的内存”,这个时候就没法继续使用了,只能关闭软件并重新再打开。请教一下各位大神这是由于多次使用calculation_function1函数导致的么?我应该怎么处理能避免出现这个问题?在此先行谢过。
Public Class Form1
Public calculation_function1 As add_com.jisuan‘引用dll
Dim c As Double
'界面载入
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
calculation_function1 = New add_com.jisuan '载入时初始化
End Sub
'按钮1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
calculation_function1.add(1, c, 参数1, 参数2)
End Sub
'按钮2
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
calculation_function1.add(1, c, 参数3, 参数4)
End Sub
End Class
Public Class Form1
Public calculation_function1 As add_com.jisuan‘引用dll
Dim c As Double
'界面载入
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
calculation_function1 = New add_com.jisuan '载入时初始化
End Sub
'按钮1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
calculation_function1.add(1, c, 参数1, 参数2)
End Sub
'按钮2
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
calculation_function1.add(1, c, 参数3, 参数4)
End Sub
End Class
...全文
相关推荐
vb.net 调用DLL
vb.net 调用DLL 描述如何用vb调用DLL
VB.NET项目中调用自定义DLL的实践案例
Visual Basic .NET(VB.NET)是一种面向对象的编程语言,它是.NET框架的一部分。自2002年发布以来,VB.NET一直广泛应用于软件开发领域,尤其在企业应用程序开发中占有一席之地。它继承了VB的经典易用性,并增加了.NET的强类型和面向对象特性。.NET框架是一套由微软开发的软件框架,为创建Windows应用程序提供支持。它包括一个庞大的类库和一个称为公共语言运行时(CLR)的执行环境。CLR管理代码执行,并提供如内存管理、线程管理等底层功能。
vb.net读取易语言dll并传值.zip
vb.net调用易语言dll,返回文本型参数不可用,通过内存读取进行文本型数据返回。 通过在易语言dll脚本中写入内存数据,然后在vb.net中读取指定内存数据来进行文本型字节集型数据交互。
vb.net调用vb.net写的dll示例
一个简单的vb.net调用vb.net写的dll示例,此dll还包含3个控件(可调时钟、LED字幕、密码框)
vb调用dll时数组类型参数问题
vb调用dll时,如果碰到数组类型参数,存在如何传入的问题。本例子解决了这个问题。


