Assasin, runtimeerror в большинстве случаев означает обращение к несуществующему/уничтоженому объекту
Какую у Вас нагрузку на себе несет dt1: TData;
после локального определения и до Draw_Text(dt1); для метода _work_doDrawNext0 ?
Этот топик читают: Гость
Ответов: 211
Рейтинг: 52
|
|||
карма: 1 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
А может ли case проверять на совпадение не только по индексу(integer, byte...), но и по тексту Простите если ответ прост.
|
|||
карма: 10 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
не может
|
|||
карма: 27 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Вот готовил hiIf_Else_Multi, мульти сравнение данных парился 4 дня, доработался , обязательно, если я возьмусь за крупный код, будет runtimeerror 216 и я так и не понял, где у меня неинициализированные, уничтоженные, ненагруженные переменные, код запускается, но, как я и писал, рантаймэррор двестишэшнатцать.
Кому не надоел, помогите нубу в программиовании, написал комментарий по каждому непонятному действию, пожаааалуста code_14676.txt |
|||
карма: 10 |
| ||
файлы: 1 | code_14676.txt [3.4KB] [592] |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
где и когда меняется количество элементов в массивах op,s и opTyp ?
------------ Дoбавленo в 12.44: Assasin писал(а): обязательно, если я возьмусь за крупный код, будет runtimeerror 216 и я так и не понял, где у меня неинициализированные, уничтоженные, ненагруженные переменные, код запускается, но, как я и писал, рантаймэррор двестишэшнатцать.это хороший практический пример того, почему ВПГ имеет такое преимущество в сравнение с ЯВУ с точки зрения возможности допущения ошибок в программе как синтаксических, так и симантических... |
|||
карма: 27 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Отвечу вопросом на вопрос: а как менять количество элементов в массиве? Или это эквалиэнтно этому?
|
|||
карма: 10 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Assasin писал(а): а как менять количество элементов в массиве? SetLength(array, count); |
|||
карма: 27 |
| ||
Голосовали: | Assasin |
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Я поставил вот тут:
Тот же runTime ------------ Дoбавленo в 13.34: Ура!!! Заработало, поставил установку длины массива в процедуру SetCount и приравнял 100, но не знаю, практичен такой метод или нет |
|||
карма: 10 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
Assasin писал(а): но не знаю, практичен такой метод или нетнет |
|||
карма: 27 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Я вот доделал до ума код, но при выходе из программы(пример из архива в "Компоненты"->"If_else_Multi") вылетает ошибка в Windows-е не знаю почему, сначала это было установка значения элемента массива, индекс которого превышает длину(но тогда компонент вообще не работал), а сейчас чего не знаю Может для этих массивов нужен destructor Хотя я не представляю пока зачем нужны constructor и destructor
вобщем вот код: code_14689.txt ------------ Дoбавленo в 16.10: Разобрался! Вместо
|
|||
карма: 10 |
| ||
файлы: 1 | code_14689.txt [4.7KB] [551] |
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
А как с помощью операции GetTok(str,delimetr) строку можно разделить на
(перевод строки по Enter) Символы #10#13 не работают, пишет несовместимы Char and String |
|||
карма: 10 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Assasin, используй Parse( var S : String; const Separators : String )
|
|||
карма: 22 |
| ||
Голосовали: | Assasin |
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
|
|||
карма: 27 |
| ||
Голосовали: | Assasin |
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Спасибо.
nesco, насколько я понял: быстродействие компонента с этой функцией немного уменьшится чем при GetTok, если брать один символ(например ; ), всвязи с использованием строки а не символа-делиметра. Dilma, с вашим вариантом(2) мне более подходит, так как у меня PStrList используется, только что-то вылетело XXX.items[i] из головы . |
|||
карма: 10 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Assasin писал(а): с вашим вариантом(2) мне более подходитНельзя забывать, что Replace(s, #13#10, #13), тоже, не слишком быстрый метод, особенно, при длинном тексте. И в результате, трудно сказать, что будет работать быстрее -- спарка Replace+GetTok или Parse |
|||
карма: 22 |
|