Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2014, 11:40   #1
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию Несовместимость типов

имеется пользовательский тип
Код:
type TReturnArray=array of Integer;
объявляю двумерный массив:
Код:
pod_mas:array of array of TReturnArray
Устанавливаю размер массива:
Код:
Setlenght(pod_mas,21,1);
Далее устанавливаю размер нулевого элемента:
Код:
SetLength(pod_mas[0],Lenght(viborka())
тип возвращаемых данных функции viborka() TReturnArray
Теперь пытаюсь вот что сделать:
Код:
pod_mas[0]:=viborka();
Вот тут то сообщение о разных типах=ошибка.

Как обойти это ограничение?

Последний раз редактировалось Illusiony; 22.12.2014 в 11:43.
Illusiony вне форума Ответить с цитированием
Старый 22.12.2014, 11:42   #2
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Т.е. получается что элемент двумерного пользовательского массива( считай что одномерный пользовательский массив) имеет отличный тип от такого же одномерного массива пользовательского ?
Illusiony вне форума Ответить с цитированием
Старый 22.12.2014, 11:49   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
pod_mas:array of array of TReturnArray
рискну предположить, что нужен не трёхмерный массив, как Вы описали, а обычный, двухмерный:
Код:
  pod_mas:array of TReturnArray;
но ещё меня ваши SetLength смущают...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.12.2014, 11:53   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
объявляю двумерный массив:
на самом деле 3-мерный
Код:
Setlenght(pod_mas,21,1);
pod_mas[0,0]:=viborka();
Далее достучаться
Код:
for i:=0 to High(pod_mas[0,0]) do Memo.Lines.Add(IntToStr(pod_mas[0,0,i]));
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 22.12.2014 в 11:58.
Аватар вне форума Ответить с цитированием
Старый 23.12.2014, 20:55   #5
Illusiony
Форумчанин
 
Регистрация: 17.02.2014
Сообщений: 881
По умолчанию

Большое спасибо всем отвечающим. Хочу выразить особую благодарность за развитие и содержание данного форума. Очень высокая активность, лояльность к новичкам ( таким как я), хорошие профессиональные ответы.

Удачи и спасибо всем, модераторам, организаторам, активным участникам и всем кто как то связан с данным форумом.
Illusiony вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несовместимость с 64-разрядной ОС Haric_110 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 07.12.2013 23:56
несовместимость типов? hunter03 Помощь студентам 7 08.09.2011 20:15
несовместимость miscreant Помощь студентам 6 26.09.2010 16:34
При переносе функций в один файл, возникает несовместимость типов.. Человек_Борща Общие вопросы Delphi 5 30.07.2010 20:08
Несовместимость Софта и железа Stilet Софт 6 04.10.2007 09:12