Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 59
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


Теорией я владею. Просто раньше никогда с таким не сталкивался (Visual C не в счет).

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

Вот мой (приблизительный) код:

function DLLExecute(I:pointer;ISize:smallint):boolean;
var
L:smallint;
IntMas:array of integer;
begin
setlength(intmas,isize);
for L:=1 to Isize do begin
IntMas[L]:=integer(I^[L]^);
end;
DLLExec:=true;
end;

При реализации такого кода Delphi указывает на строку IntMas[L]:=integer(I^[L]^) и говорит, что Array type Required. Так я понял, что в вашем примере, процедура "знает", какого что переменная p - типа ppp, а в моем - нет.

А вот кусок главной программы (находится вообще в другой папке):
var
DLLExecute:function(I:pointer;ISize:smallint):boolean;
begin
DLLExecute(@IntMas,47);
end;

-------
Windows 2000 forever!


Отправлено: 21:43, 19-02-2005 | #3