Советы по Delphi

         

Как можно передавать массивы из VB в Delphi?


Олег Кулабухов отвечает на вопрос:

Массивы в данном случае передаются типом 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]



Содержание раздела