求指点啊
我编写的a.dll如下:double __stdcall Max(double *a,int b){
int i;
double Amax;
Amax = *(a+0);
for(i=0;i<=b;i++)
{
if (*(a+i)>Amax)
Amax = *(a+i);
}
return Amax;
}
入口函数是Max.现在想在vb中动态加载,请问该如何写,跪求指点。
Dim a(1 To 10) As Double
Dim i As Integer
Print "产生的随机数为:"
'产生10个的随机整数
For i = 1 To 10
a(i) = CDbl(Rnd * 10)
Print a(i);
Next i 求出这个数组中的最大值。一定是动态加载这个dll,谁会得请指教啊。 --------------------编程问答-------------------- http://blog.csdn.net/a294447011294447011/article/details/2984786
看一下 --------------------编程问答--------------------
--------------------编程问答-------------------- CallByName函数是一个灵活性很强的函数,通过它可以实现通过字符串调用方法以及回调的功能
Private Declare Function Max Lib "a.dll" Alias "MaxA" (ByRef a() As Double, ByVal L As Integer) As Double
Private Sub Form_Load()
Dim a(1 To 10) As Double
Dim i As Integer
Dim MaxNum As Double
For i = 1 To 10
a(i) = CDbl(Rnd * 10)
Next i
MaxNum = Max(a, 10)
End Sub
这是个vb6中的例子,
Option Explicit
Private Sub Command1_Click()
'设置属性
CallByName Text1, "Text", VbLet, "New Text" '通过callbyname给窗体中的文本框赋值
'读属性
MsgBox CallByName(Text1, "Text", VbGet) '通过callbyname取窗体中的文本框的值
'move方法
CallByName Text1, "Move", VbMethod, 100, 100, 2000, 500 '通过callbyname调用窗体中的文本框的move函数将文本框移动
End Sub
--------------------编程问答-------------------- 楼主 要动态添加的 --------------------编程问答-------------------- 2楼正解 --------------------编程问答-------------------- 你们那不是动态加载,你们那是调用动态链接库,动态加载时程序运行后,我可以随便选择加载哪个dll,而不用在程序中声明 --------------------编程问答-------------------- 这里有一个类,根据DLL名、API名调用API函数,前提必须是标准的DLL:
http://topic.csdn.net/u/20110329/10/78f7baa9-d526-4a6f-8e23-6141d9bb76d3.html --------------------编程问答--------------------
Private Function Minimum(ParamArray Vals())
Dim n As Integer, MinVal
On Error Resume Next
MinVal = Vals(0)
For n = 1 To UBound(Vals)
If Vals(n) < MinVal Then MinVal = Vals(n)
Next n
Minimum = MinVal
End Function
Private Function Maximum(ParamArray Vals())
Dim n As Integer, MaxVal
On Error Resume Next
MaxVal = Vals(0)
For n = 1 To UBound(Vals)
If Vals(n) > MaxVal Then MaxVal = Vals(n)
Next n
Maximum = MaxVal
End Function
debug.print Maximum(1,2,3)
debug.print Minimum(-1,-2.2,3)
补充:VB , API