|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.12.2011, 17:38 | #1 |
Регистрация: 11.10.2011
Сообщений: 7
|
[Delphi] Передача параметров процедуре
Добрый вечер. По одной из лаб нужно было набыдлокодить учёт "клиентов" (база в файл) + сортировку qSort'ом, слиянием и т.д. В общем-то лаба готова, но не могу никак сдать: преподаватель цепляется к тому, что при вызове процедур из соседнего юнита я передаю слишком много данных.
Теперь о самой проблеме: если выпилить A: zapmas из процедуры и передавать через _13.A := A (_13 - класс), то всё нормально, но только до второй итерации. При первом обходе qSort'a строка Pivot := A[(Lo + Hi) div 2].Date; отдаёт нормальное значение всего массива и идёт дальше. После первого же рекурсивного вызова массив теряется и значение Pivot := A[(Lo + Hi) div 2].Date; выбивает EAccessViolation. Собственно интересует почему так происходит и как это исправить. Unit1: http://pastebin.com/bvU9i8y8 Unit2: http://pastebin.com/666nSdhs Код выше полностью рабочий, но вместо _13.qSort(iLo, iHi, A); нужно как-то сделать _13.qSort(iLo, iHi); :-\ Последний раз редактировалось Язь; 09.12.2011 в 17:46. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача процедуре статического массива | cod48 | Общие вопросы Delphi | 1 | 24.08.2010 21:07 |
Передача параметра процедуре FormCreate | Grandistok | Общие вопросы Delphi | 3 | 24.04.2010 15:42 |
Создание подпрограм.Передача массива как параметра процедуре | AbrahamLincoln | Помощь студентам | 5 | 20.09.2009 19:39 |
Передача параметров | aesoem | Общие вопросы Delphi | 8 | 15.07.2008 21:51 |
Передача параметров | Gudzon | Общие вопросы Delphi | 12 | 08.02.2007 08:19 |