Здравствуйте.

Вот процедура на BB ([untagged] после ARRAY компилятор не принимает)

PROCEDURE test*
(
lenMomentNodes:INTEGER;
VAR momentNodes:ARRAY  OF INTEGER

):INTEGER;
VAR i:INTEGER;
BEGIN
FOR  i :=0   TO lenMomentNodes-1     DO
momentNodes[i]:=i*2;
END;

RETURN  2
END test;

И вот вызывающая на MSVC 7 ее программа
extern "C" int __declspec(dllimport) test
(
int lenMomentNodes,
int * momentNodes
);

int _tmain(int argc, _TCHAR* argv[])
{
int i;
int a[10];

printf("%d \n\n",test(10,a));
for(i=0;i<10;i++)
{
printf("   %d \n",a[i]);
}
return 0;
}

При обращении к элементам массива программа вылетает.
Этот вопрос уже поднимался для Дельфи, но из текста форума не совсем ясно решение.

Как правильно оформить передачу параметра - массива.

Заранее благодарю.

С уважением,
Кубаныч.