Пользователь
Сообщения: 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
|