Показать сообщение отдельно
  #33  
Старый 24.10.2012, 18:51
reqyz reqyz вне форума
Начинающий
 
Регистрация: 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]);

а в каком же месте его учитывать( туплю
Ответить с цитированием