Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Delphi
Перезагрузить страницу Ошибка "Constant object cannot be passed as var parameter", как исправить?
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Katy93 Katy93 вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 12.02.2021
По умолчанию Ошибка "Constant object cannot be passed as var parameter", как исправить? - 12.02.2021, 01:01

У меня в коде появилась ошибка "Constant object cannot be passed as var parameter".
В коде подсвечивается вот эта строка SetString(Result[I], P1, P-P1);.
Как ошибку можно исправить?
delphi Код:
function Explode(S: String; Delimiter: Char): String; overload;
var I, C: Integer;
P, P1: PChar;
begin
    SetLength(Result, 0);
    if Length(S) = 0 then Exit;
    P:=PChar(S+Delimiter); C:=0;
    while P^ <> #0 do begin
       P1:=P;
       while (P^ <> Delimiter) do P:=CharNext(P);
       Inc(C);
       while P^ in [#1..' '] do P:=CharNext(P);
       if P^ = Delimiter then begin
          repeat
           P:=CharNext(P);
          until not (P^ in [#1..' ']);
       end;
    end;
    SetLength(Result, C);
    P:=PChar(S+Delimiter);
    I:=-1;
    while P^ <> #0 do begin
       P1:=P;
       while (P^ <> Delimiter) do P:=CharNext(P);
       Inc(I);
       SetString(Result[I], P1, P-P1);
       while P^ in [#1..' '] do P:=CharNext(P);
       if P^ = Delimiter then begin
          repeat
           P:=CharNext(P);
          until not (P^ in [#1..' ']);
       end;
    end;
end;
Ответить с цитированием
  (#2 (permalink)) Старый
Rius Rius на форуме
Программист
 
Аватар для Rius
 
Сообщений: 7,973
Сказал(а) спасибо: 25
Поблагодарили 1,020 раз(а) в 1,000 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 13.02.2021, 01:50

Скопировать строку в отдельную переменную, к ней применить SetString, записать обратно в массив.


Как прикреплять картинки к сообщениям: http://www.hardforum.ru/t116562
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при копировании определённой папки со смартфона: "Ошибка 0x00000000" daniel.sofia Разное 2 06.07.2020 23:12
Как удалить/исправить ярлык "PRODUCTNAME" в Панели управления? Творю Добро Любые вопросы от новичков 2 28.12.2016 00:20
При попытке зайти на сайт выдается ошибка - "ошибка подключения" shem-76 Любые вопросы от новичков 20 31.03.2010 23:48
Ошибка при запуске "S.T.A.L.K.E.R.": Ошибка при инициализации приложения(0xc000001d) 45дима Любые вопросы от новичков 1 15.01.2010 19:06
Как исправить "attempt to store duplicate value in unique index "RDB$INDEX_5" ?" devo4ka-nimfetka Другие СУБД 1 16.04.2009 09:58
Закрываются игры, появляется ошибка: "0xbe8787ba" или "0x3e89ce89" . ASUSTeK Техническая поддержка 42 19.02.2009 01:38
NOD32 после проверки выдает "ошибка распаковки", что это за ошибка и как устранить? *АЛХИМИК* Любые вопросы от новичков 7 02.12.2008 01:07
Ошибка POST "FF" в материнской плате "Epox EP-5ELA3I". sushv Любые вопросы от новичков 2 28.08.2007 12:25
Invalid object name "types" как исправить ошибку Виталик C++ Builder 4 15.09.2006 17:42
EInvalidPointer "Invalid pointer operation" как исправить ошибку Александр Новохатский C++ Builder 5 20.03.2006 08:13
Как исправить ошибку при компиляции, выдает "syntax error" Kursov_Sergey Вопросы начинающих программистов 27 24.12.2003 01:13
Как сделать чтобы вместо кнопок "Да" и "Нет" высвечивалось украинсие "Так" и "Ні" Форсаж Delphi 5 19.07.2003 19:30



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов