Массивы в данном случае передаются типом Variant. Смотрите, как это реализовывается в нижеследующем примере.
VB module code: Attribute VB_Name = "Module1" Declare Function TestMin Lib "c:\windows\system\NoelSArr" (Nums As Variant) As Integer VB form code: Dim A As Variant Private Sub Command1_Click() A = Array(4, 3) MsgBox (TestMin(A)) End Sub Delphi DLL code:
library NoelSArray; . . function TestMin(const Nums: Variant): integer; export; stdcall; var p1: Variant; begin p1 := VarArrayCreate([0, 1], VT_I4); p1:= Nums; if (p1[0] < p1[1]) then result:= p1[0] else Result:= p1[1]; end; |
[001864]