24.10.2012, 18:51
|
Начинающий
|
|
Регистрация: 13.02.2010
Сообщения: 104
Репутация: 10
|
|
Код:
function SHFileOperation(const lpFileOp: _SHFILEOPSTRUCTA): Integer; stdcall; external shell32 name 'SHFileOperationA';//так работает
function SHFileOperation(lpFileOp: _SHFILEOPSTRUCTA): Integer; stdcall; external shell32 name 'SHFileOperationA';//так не работает
это как то обойти можно? конст значительно влияет, без него вылетает ошибка рунтайм еррор 216..
наверно я идиот и ничего не понимаю(
Код:
while param <> '' do
begin
//тут я получаю тип передачи (вар оут конст)
p := Pos(' ', param);
if p = 0 then RaiseErrorFmt('Ожидался символ " " в строке "%s"', [param]);
p0 := Copy(param, 1, p - 1);
Delete(param, 1, p);
p := Pos(':', param);
if p = 0 then RaiseErrorFmt('Ожидался символ ":" в строке "%s"', [param]);
p1 := LowerCase(Copy(param, 1, p - 1));
Delete(param, 1, p);
p := Pos(';', param);
if p = 0 then RaiseErrorFmt('Ожидался символ ";" в строке "%s"', [param]);
p2 := Copy(param, 1, p - 1);
Delete(param, 1, p);
if Length(Params) = PrmCount then
begin
SetLength(Params, PrmCount + 10);
SetLength(_par, PrmCount + 10);
end;
//тут я использую индексы и запоминаю этот тип
if(p0 = 'var')then
_par[PrmCount]:=1
else
if(p0 = 'const')then
_par[PrmCount]:=2
else
if(p0 = 'out')then
_par[PrmCount]:=3
else
if(p0 = '')then
_par[PrmCount]:=0
else
RaiseErrorFmt('Неподдерживаемый тип "%s"', [p0]);
а в каком же месте его учитывать( туплю
|