Вниз
Скачать: CL | DM;

Прием массива в DLL....   Найти похожие ветки 

 
$Hic0 ©   (2002-05-31 12:10) [0]

День добрый!
Мне необходимо передавать в DLL для обработки динамический массив вещественных чисел. Я пишу:

library Gauss;

uses
SysUtils,
Classes,
Dialogs;

{$R *.RES}

Procedure Init(n:byte;A:array of Real); stdcall; export;
Begin
ShowMessage(FloatToStr(a[1])); //<---- Здесь компилатор воет что не определен тип массива :(
End;
Exports
Init index 1 name "InitGauss";
end.


Да... это двумерный массив :)
ShowMessage засунул просто для проверки :)
Только начал ковырять DLL-технологию, не судите строго :)
Заранее спасибо!


 
Sasha9 ©   (2002-05-31 12:43) [1]


> Да... это двумерный массив :)

?????????????? вообще-то двумерный выглядит так: A: Array of Array of Real;
может ты чё путаешь с индексом массива, там нумерация с нуля
я попробовал без dll-ки и у меня всё пошло(влом с dll-кой возиться, но если ооочень нужно скажи я попробую)


 
sunwheel ©   (2002-05-31 12:46) [2]

Не совсем ясно почему двумерный массив определяется как array of Real, но не важно. Попробуй сделать так:

type
TA1 : Array of Real;
TA2 : Array of TA1;

Procedure Init(n:byte;A:TA2); stdcall; export;

Все должно работать.


 
Виктор Щербаков ©   (2002-05-31 12:51) [3]

В секции uses модуль ShareMem должен быть на первом месте
в длл и хост-приложении, если передаешь дин. массивы или строки.


 
Freezer ©   (2002-05-31 13:05) [4]

В твоем случае, я бы еще передавал размерность массива, т.к. он динамический и декларацию процедуры сделал след. образом...

type
TArr: array of array of Real;

procedure Init(const A: TArr; X, Y: Integer);


 
S@shka   (2002-05-31 13:40) [5]

ShareMem !!!!!!!!!!!!!!


 
SPeller ©   (2002-05-31 14:52) [6]

Попробуй передать указатель на первый элемент и размерность. Тут и шаремем не нужен.


 
$HiC0 ©   (2002-05-31 15:25) [7]

Спасибо! Я тут ковыряюсь мучаюсь :)) Заглядываю на форум а столько всего, пасиба, я до много правда сам доковылял :) А в коде в самомо деле ошибка была :) Это просто я не углядел :). Пасиба. Вы настоящие друзья! :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
3-30730
Tahion
2002-05-18 19:28
2002.06.10
Может кто знает, как извлечь данные из формата *.tps


3-30678
ATLANTIDO
2002-05-16 19:29
2002.06.10
Инсталяшка ...


1-30824
Aleksandr
2002-05-31 12:03
2002.06.10
Можно ли у TMemo или TRichEdit перекрыть прорисовку?


1-30777
Danger
2002-05-30 23:40
2002.06.10
Работа с Вордовскими файлами(doc)


3-30707
GenBr
2002-05-18 13:20
2002.06.10
Grid




   Наверх