![]() |
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]() ![]() ![]() |
|
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 9 Всего: 133 |
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
||||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
можно сделать комментарии к этому коду? А то чтот никак не могу разобраться, особенно в первый раз встречаю move и inc
![]()
Это сообщение отредактировал(а) neweraser - 16.3.2008, 15:17 -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
Это сообщение отредактировал(а) VICTAR - 16.3.2008, 15:36 |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
ага, спасибо, а зачем там SizeOf? И еще, хочу проверить, так ли заполняются массивы, выписывая их в listbox
пишет ошибку Access Violation (Ошибка выделения памяти, мож ошибаюсь, не знаю). до этого со статическими массивами получалось -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
Move копирует кол-во байт, я специально выделил БАЙТ.
Массив состоит из Integer. Т.е. Размер всего массива будет кол-во элементов * размер каждого элемента (4 байта). AV возникает из-за того что перебираешь один массив(lSource) а читаешь другой(lDest). Заметь, длины у них разные. ЗЫ Access Violation - это когда читаешь/пишешь туда куда низя =) |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
мда... тупанул я, поторопился ![]() -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
neweraser |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
ничего не понимаю... у меня, оказывается, исходный массив еще и не так заполняется:
вот функция
когда вывожу массив в листбокс выводит вроде все вроде правильно, но 1-й элемент = 0 -------------------- Кто ищет, тот всегда найдет. |
||||
|
|||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
Ничего не понял.
1) listbox2.Items.Capacity замени на listbox2.Items.Count 2) for i := 0 to High(lSource) and listbox2.Items.Count do как это? 3) во втором примере i у тебя локальная переменная, изначально имеющая неопределенное значение, а ты через нее обращаешься в элементу массива lSource, тут должно быть стабильное AV. Короче разберись для начала в своем коде. |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
получается только так, если делать с каждым по отдельности выдает ошибку, насчет i я действительно тупанул, в прочем, у меня не редко так... записал новую переменную t в глобальные, приравниваю ее к нулю перед тем как обратиться к массиву в функции, а в самой функции еще прописал Inc(t) Это сообщение отредактировал(а) neweraser - 16.3.2008, 23:09 -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
и последний вопрос, если можно.
Можно ли остановить этот цикл в процедуре в определенном месте (т.е. где идет запись на диск) до тех пор, пока, например "пользователь" не нажмет на кнопку еще раз? и чем отличаются counts и capacity? -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
Вызвать модальную форму? Count - Кол-во занятых элементов массива Сapacity - Кол-во элементов массива |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
думаю, да, так даже лучше и проще будет, форму создам, как то уже делал модальные формы, только где ее вызвать и как? например
-------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
Смотря что ты хочешь сделать.
Если хочешь выйти из цикла, то break. Если продолжить цикл, то просто WaitForm.ShowModal. |
|||
|
||||
neweraser |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 17.2.2008 Репутация: нет Всего: 6 |
VICTAR, я наверно надоел тебе уже
![]() -------------------- Кто ищет, тот всегда найдет. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |