Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Com - объекты

9.2K
07 мая 2005 года
BeelZeBoul
12 / / 21.04.2005
Надо создать COM объект, производящий сортировку, каким либо из методов. Сам метод реализовать смогу, а вот с помощью какого метода передать туда массив незнаю(если это вообще возможно), или надо каким-то образом добавлять по одному элементу:???:
10
07 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by BeelZeBoul
Сам метод реализовать смогу, а вот с помощью какого метода передать туда массив незнаю(если это вообще возможно)


Если не зацикливаться на массивах, можно передавать что-то вроде экземпляра TList.

Альтернатива - массив в виде варианта. Создается массив при помощи VarArrayCreate или VarArrayOf. Но мне этот способ кажется менее предпочтительным. С вариантами обычно пишут плагины для Офиса - там все на них завязано.

9.2K
08 мая 2005 года
BeelZeBoul
12 / / 21.04.2005
Если не сложно киньте какой-нибудь примерчик с тем как передать, принять и хоть что-нибудь делать с этим массивом.
10
08 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by BeelZeBoul
Если не сложно киньте какой-нибудь примерчик с тем как передать, принять и хоть что-нибудь делать с этим массивом.


Код:
procedure ProcessArray(const A: Variant);
var
  I: Integer;
begin
  if VarIsArray(A) then
  begin
    for I := VarArrayLowBound(A) to VarArrayHighBound (A) do
    begin
      A //...
    end;
  end;
end;

procedure Arrays;
var
  V: Variant;
begin
  // 1-й пример
  ProcessArray(VarArrayOf([24, 78, 52]);

  // 2-й пример
  V := VarArrayCreate(0, 3);
  V[0] := 35;
  V[1] := 891;
  V[2] := 6;
  V[3] := 1258;
  ProcessArray(V);
end;
9.2K
21 мая 2005 года
BeelZeBoul
12 / / 21.04.2005
у меня когда начиная сравнивать элементы A и A[i+1] возникает ошибка.
10
21 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by BeelZeBoul
у меня когда начиная сравнивать элементы A и A[i+1] возникает ошибка.


Индексы проверяй.

9.2K
26 мая 2005 года
BeelZeBoul
12 / / 21.04.2005
С одной проблемо разобрался появилась другая.
Когда из приложения через сделанный интерфейс обращаюсь к любому методу(даже самому простеёшему, где уж точно нет ошибок) возникает ошибка:
Project ViewSort.exe raised exception class EAccessViolation with message 'Access violation at address 00459F1' in module 'ViewSort.exe'. Read of address 00000000'. Process stopped......
10
26 мая 2005 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by BeelZeBoul
Read of address 00000000'.


Некто, более известный в миру как дядя Петя, пытается читать по указателю, равному nil.

9.2K
26 мая 2005 года
BeelZeBoul
12 / / 21.04.2005
Цитата:
Originally posted by Freeman
Некто, более известный в миру как дядя Петя, пытается читать по указателю, равному nil.


Спасибо об этом я и так догадался, а вот почему этот указатель пустой и как эту ошибку исправить.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог