|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.02.2010, 19:04 | #1 |
Пользователь
Регистрация: 07.02.2010
Сообщений: 54
|
Программа выдает ошибку при работе
программа должна модифицировать текст, введеный в мемо1 с помощью словаря settings.ini, и записать новый текст в мемо2. При компиляции ошибок нету, но при вводе слова и нажатии на кнопку вылетает с ошибкой.
Код:
Последний раз редактировалось T-dayne; 27.02.2010 в 09:56. |
26.02.2010, 20:34 | #2 |
Форумчанин
Регистрация: 23.10.2008
Сообщений: 460
|
во-первых если что-то создаешь, особенно инишник, то после обращения надо сделать
Код:
|
26.02.2010, 21:13 | #3 | |
Пользователь
Регистрация: 07.02.2010
Сообщений: 54
|
исправил... ошибка не в этом, при вылете ошибки не показывает ерроры в коде, показывает ошибку в строчке
Цитата:
|
|
26.02.2010, 21:22 | #4 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Цитата:
приведение места и текста ошибки позволяет значительно сократить время получения ответа. p:=pos(tmp,''); далее нет проверки полученного значения p(вдруг в строке там нет того что нам надо) а при условии ПОИСКА в ПУСТОЙ СТРОКЕ '' (по синтаксису это строка где ищем) да и поиск пустой строки pos('',tmp) тоже был бы не очень понятен
программа — запись алгоритма на языке понятном транслятору
|
|
26.02.2010, 21:29 | #6 | ||
Пользователь
Регистрация: 07.02.2010
Сообщений: 54
|
Цитата:
Цитата:
Насчет ошибки... сомневаюсь что это много сообщит Вам, но все же |
||
26.02.2010, 21:43 | #7 |
Форумчанин
Регистрация: 23.10.2008
Сообщений: 460
|
поставь брейкпоинты (F5) на событие нажатия на кнопку, потом жми F8 пока не вылезет ошибка, когда вылезет запомни на какой строчке это случилось. она и виновата
|
26.02.2010, 22:03 | #8 | |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Цитата:
SetLength(words,setarr); при первом проходе длина установится равной один, что означает примерно следующее word: array[0..0] of string[255] Эта команда words[i+1] обращается к word[1] при первой итерации, а у тебя можно только word[0]. Убирай "+1" |
|
26.02.2010, 22:11 | #9 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
пустая строка всегда найдется по сути это промежуток нулевой длины меду буквами который всегда есть в любой строке
роs('','здесь_может быть_любой_текст') ВСЕГДА =1 Цитата:
последний - первый надо искать ограничители слова пробелы k1:=posex(' ',tst,1); k2:=posex(' ',tst.k1+1); k2-k1-1 длина
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 26.02.2010 в 22:20. |
|
27.02.2010, 08:05 | #10 |
Пользователь
Регистрация: 07.02.2010
Сообщений: 54
|
eoln
После убирания "+1" и при нажатии на кнопку, программа впадает в ступор, грузится процессор и ежесекундно пожирается память |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ПК выдает ошибку при обращении к несуществующему дочернему окну | KaimNotark | БД в Delphi | 3 | 12.02.2010 10:16 |
выдает ошибку при вызове scanf | Wi1D | Общие вопросы C/C++ | 6 | 27.12.2009 19:53 |
Программа выдает ошибку на нуле | Panika | Помощь студентам | 1 | 11.11.2009 21:42 |
При активизации формы выдает ошибку | Canadec | Общие вопросы Delphi | 11 | 04.09.2007 12:10 |