![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Вот код, который я нашел в System:
Код:
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#2 | |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
![]()
Несколько параметров - это для многомерных массивов.
Цитата:
|
|
![]() |
![]() |
![]() |
#3 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Ну это и ежу понятно. мне интересно другое. Выше я предоставил код функи. КУДА отправляется второй параметр? Там же для него места нет.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 224
|
![]()
А вас не смущает то, что приведённые вами функции имеют разные названия?
Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Кроме этой _set... другой set... я в system не нашел.
Все равно. как может процедура принимать больше параметров, чем в ней указано? Если бы были несколько одинаковых функций (overload), то 1) Они бы высвечивались при наборе параметров. 2) Их бы пришлось писать около десятка тысяч - ведь я могу нарисовать и десятимерный массив и стомерный.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
Приведенный вами код не компилируется, если параметров больше чем положено. SetLength встроена в компилятор, вы не найдете её объявления, и delphi перед компиляцией смотрит, соответствует ли кол-во параметров размерности массива.
Изобретатель велосипедов
Последний раз редактировалось Selestis; 21.03.2010 в 13:27. |
![]() |
![]() |
![]() |
#7 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Т.е. это не просто процедура, а самогенерирующаяся? И создать что-то подобное не получится?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
Вроде того, насколько я знаю. А вы хотите создать свою SetLength?
Изобретатель велосипедов
|
![]() |
![]() |
![]() |
#9 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
![]()
Я хотел рассмотреть возможность использовать разное количество параметров для одной процедуры. Мало ли, где это может пригодиться.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Оно там есть. Посмотри процедуру _DynArraySetLength. SetLength является "заголовком" для неё. Размерность массива устанавливает _DynArraySetLength в числе параметров у которого есть упакованный тип tdynarraytypeinfo отвечающий за тип, размер элемента в массиве и указатель на следующую структуру в случае многомерных массивов.
Но как указано в документации "Она никогда не должна быть необходимой для вызова этой функции непосредственно, а стандартные SetLength функция должна использоваться вместо." (перевод с англ.) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
SetLength никогда не стирает старые элементы массива? | TwiX | Общие вопросы Delphi | 6 | 20.03.2010 02:35 |
Вкаких случаях может быть полезной процедура SetLength | Ainur | Помощь студентам | 2 | 22.05.2009 12:01 |
Строка параметров | Rus+ick | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 16.12.2008 05:46 |
Передача параметров | aesoem | Общие вопросы Delphi | 8 | 15.07.2008 21:51 |
считает что ReOpArr это обычный массив и не может применить к нему процедуру SetLength. | Dunpeal | Общие вопросы Delphi | 2 | 24.12.2007 08:07 |