![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
Я правильно понимаю, что если среди параметров функции есть массив, то при вызове он занимает сразу два регистра?
Один регистр - ссылка на сам массив Во второй - его длина-1 Я правильно понял? Так и должно быть? Это так работает? Массив на котором тестируется имеет длину 4 Последний раз редактировалось Kronos913; 03.02.2024 в 23:53. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]() |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
А что тогда означает 3, которое передалось в регистр ecx ? Если не длину массива-1
При чем, пока все тесты этот код проходит успешно... Но просто у меня это вышло "методом тыка" и хотелось бы послушать тех, кто знает теорию, может какую-то возможную ошибку я не учёл |
![]() |
![]() |
![]() |
#4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]()
Действительно, открытый массив передается как 2 параметра: адрес первого элемента, индекс последнего элемента (длина - 1). А динамический массив через 1 параметр.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 10.02.2021
Сообщений: 684
|
![]()
И я обратил внимание, что если тип ShortString передавать с меткой var, то в следующий регистр попадает длина строки. Это тоже официально верная информация?
|
![]() |
![]() |
![]() |
#6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,427
|
![]()
Не нашел пояснений в документации (может быть не смог верно сформулировать запрос), но в исходниках дельфи 7 есть такое:
Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
#7 | ||
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массив конкретной длинны в параметрах процедуры | Kronos913 | Общие вопросы Delphi | 9 | 30.09.2022 17:31 |
Варианты параметров (Строка или массив строк в параметрах) | Kronos913 | Общие вопросы Delphi | 1 | 07.02.2022 21:35 |
Если так заполнять массив, то второй цикл не выполняется, а если задавать элементы вручную - выполняется. Почему так? | Hermeneticus | Помощь студентам | 1 | 30.10.2017 09:29 |
Задан массив a1, a2, …, an. Если массив упорядочен, то оставить без изменений, иначе переставить элементы ( Delphi ) | Natashakosmos | Помощь студентам | 1 | 10.01.2014 22:44 |
Преобразовать все буквы нижнего регистра в буквы верхнего регистра | druger | Помощь студентам | 5 | 18.09.2011 17:27 |