[fpc-pascal] Dynamic arrays in FP
Jilani Khaldi
jilani.khaldi1 at virgilio.it
Thu May 5 11:44:23 CEST 2005
Hi All,
I have written a little library in C (compiled in as a DLL) to use it in
Free Pascal and Delphi applications. While the code (below) works with
Delphi (7), I get an Access Violation using FPC (1.98). Perhaps I am
missing something.
Any hint? Thanks!
program fpc_dll;
{$H+}{$MODE OBJFPC}
uses
sysutils;
type
myarray = array of double;
// if I declare "myarray = array[0..9] of double;" the code runs as
expected.
function get_array(a, b: myarray; size: integer; value: double):
integer; cdecl; external 'mylib.dll';
// extern "C" __cdecl __declspec(dllexport) int get_array(double a[],
double b[], int size, double val);
var
x, y, z: double;
t: integer;
i, kk, qq: integer;
mat1, mat2: pmyarray;
st: string;
begin
kk := 10;
SetLength(mat1,kk);
SetLength(mat2,kk);
for i := 0 to kk-1 do
begin
mat1[i] := i+1;
st := FloatToStr(mat1[i]);
writeln(st);
end;
qq := get_array(mat1,mat2,kk,3.14);
st := IntToStr(qq);
writeln(st);
for i := 0 to kk-1 do
begin
st := FloatToStr(mat1[i]);
writeln(st);
end;
st := '------------------------------';
writeln(st);
for i := 0 to kk-1 do
begin
st := FloatToStr(mat2[i]);
writeln(st);
end;
SetLength(mat1,0);
SetLength(mat2,0);
end.
jk
--
// Jilani KHALDI
*** K-Book
Interactive Scientific & Technical Pubblications
http://jkhaldi.oltrelinux.com
More information about the fpc-pascal
mailing list