|
![]() |
#1 |
Участник
|
Поковырялась я с этой проблемной строчкой и опытным путем установилось следующее:
функция DELCHR работает как-то странно. Как только я ее удалила (осталось только BemerkTxt := COPYSTR(BemerkTxt,BindeStrich+1); ), всё сразу поехало. Кто-нить сталкивался с подобными |
|
![]() |
#2 |
Участник
|
Цитата:
Вместо: Код: IF STRLEN(BemerkTxt) > 0 THEN BemerkTxt := DELCHR(COPYSTR(BemerkTxt,BindeStrich+1),'<>',' '); Код: IF STRLEN(BemerkTxt) > 0 THEN BEGIN BemerkTxt := COPYSTR(BemerkTxt,BindeStrich+1); BemerkTxt := DELCHR(BemerkTxt,'<>',' '); END; Копайтесь в вашем алгоритме. |
|
![]() |
#3 |
Участник
|
Цитата:
![]() Но в данном случае стоило мне убрать DELCHR и оставить только COPYSTR (см. мое второе сообщение),как ошибка пропала. Отсюда я и сделала вывод, что глюк порождается именно DELCHR'ом. По моемУ представлению, если функция вызывается внутри другой функции, то сначала должна вычисляться внутренняя, а потом "внешняя". Или я неправильно думаю? Знак _ тут вообще не при делах. Это всего лишь условный символ, по которому я режу строки на кусочки. |
|
![]() |
#4 |
Участник
|
Думаете то вы правильно, только выводов из раздумий не делаете. Чтобы установить 100% что конкретно вызывает ошибку, я и предложил вам разделить вызов внутренней и внешней функций, до тех пор пока вы этого не сделаете, всё останется в стадии предположений.
|
|
![]() |
#5 |
Участник
|
Цитата:
этот код работает: Код: IF STRLEN(BemerkTxt) > 0 THEN BEGIN BemerkTxt := COPYSTR(BemerkTxt,BindeStrich+1); BemerkTxt := DELCHR(BemerkTxt,'<>',' '); END; Код: IF STRLEN(BemerkTxt) > 0 THEN BemerkTxt := DELCHR(COPYSTR(BemerkTxt,BindeStrich+1),'<>',' '); ![]() |
|