Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Почему ошибка? [D6, D7, Win2k, WinXP]


П7 ©   (2004-10-28 10:15:00) 

Уважаемые Мастера!
"Я такой тупой, как гранитная глыба", почему оибка в таком коде:

function TirPirFunc( Count : integer; PID : P7PID ) : integer;
var
 i : integer;
begin
 for i := 0 to Reports.Count-1 do
   if ( MyClass.PID = PID ) then
   begin
     Result := i;
     break;
   end;
end;

где:

type
 P7PID = array[0..3] of integer;
 MyClass = class
   PID : P7PID;
   //...
 end;

Выдаёт ошибку:

Operator not applicable to this operand type

Найдя ошибку, курсор позиционируется сюда:

if ( MyClass.PID = PID ) then |

Нифига не понимаю, чего ему не понравилось...


Плохиш   (2004-10-28 10:37:00) [1]


> П7   (28.10.04 10:16) [1]

Попробуем протелепатировать: Ты хотел написать if ( MyClass.PID[i] = PID[i] ) then? Границы проверить не забудь.


П7   (2004-10-28 10:34:00) [2]

это плохо... ): ну ладно, фигня...
Спасибо!
Тема закрыта.


КаПиБаРа   (2004-10-28 10:26:00) [3]

П7   (28.10.04 10:22) [4]
Тогда надо в цикле сравнивать элементы массивов.


П7   (2004-10-28 10:22:00) [4]

"То что в элементах массива числа совпадают". Именно так.


КаПиБаРа   (2004-10-28 10:19:00) [5]

П7   (28.10.04 10:15)
if ( MyClass.PID = PID ) then

Смысл проверки? То что в элементах массива числа совпадают или то что это указатели на один массив?


П7   (2004-10-28 10:16:00) [6]

Первая функция вот такая на самом деле, это я загнался...

function TirPirFunc( Count : integer; PID : P7PID ) : integer;
var
i : integer;
begin
for i := 0 to Count-1 do
  if ( MyClass.PID = PID ) then
  begin
    Result := i;
    break;
  end;
end;

В чём ошибка?


Sandman25   (2004-10-28 10:16:00) [7]

Видимо, нельзя так сравнивать массивы


Наверх

Титульная страница Поиск, карта сайта Написать письмо