Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.08.2018, 10:55   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье почему возникает такая ошибка?: [dcc32 Error] Unit2.pas(272): E2197 Constant object cannot be passed as var parameter

Здравствуйте!
Подскажите пожалуйста, почему возникает такая ошибка?:
[dcc32 Error] Unit2.pas(272): E2197 Constant object cannot be passed as var parameter
Код:
    procedure loadpage(var url: string);
               .....
              procedure TForm2.loadpage(var url: string);
              begin
                       chromium1.Load(url);
              end;
             loadpage('url');
Женя32 вне форума Ответить с цитированием
Старый 29.08.2018, 10:56   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Потому что Constant object cannot be passed as var parameter.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.08.2018, 11:11   #3
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Потому что Constant object cannot be passed as var parameter.
А как передать нужный параметр?
Женя32 вне форума Ответить с цитированием
Старый 29.08.2018, 11:12   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Сделать строку не константной или передавать не по var.
p51x вне форума Ответить с цитированием
Старый 29.08.2018, 11:20   #5
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Сделать строку не константной или передавать не по var.
А как еще можно можно передать?
Женя32 вне форума Ответить с цитированием
Старый 29.08.2018, 11:25   #6
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,707
По умолчанию

Обычно, по значению, без var. Вы вообще хоть что-то о языке знаете? Хотя бы пару первых страниц книги прочитали?
p51x вне форума Ответить с цитированием
Старый 30.08.2018, 09:20   #7
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

зачем вам исходящая строка в этой процедуре?
либо меняете
Код:
loadpage('url');
на
Код:
str1:='url';
loadpage(str1);
либо
Код:
procedure loadpage(url: string);
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 30.08.2018, 09:26   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от IliaIT Посмотреть сообщение
исходящая строка
Это как?оО

Цитата:
Сообщение от IliaIT Посмотреть сообщение
зачем
да ни зачем, просто автор не знает что делает var в том месте.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 31.08.2018, 11:29   #9
IliaIT
Форумчанин
 
Аватар для IliaIT
 
Регистрация: 17.03.2009
Сообщений: 977
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Это как?оО


да ни зачем, просто автор не знает что делает var в том месте.
это я просто написал сокращённо, на самом деле фраза звучит так:
"Для чего в процедуре используется возможность получения текстовой информации(используя переменную строкового типа) через исходящие переменный, если в самом тексте входящий параметр строкового типа не изменяется "
Интуитивно понятный интерфейс - это такой интерфейс, для работы с которым нужна недюжинная интуиция.
IliaIT вне форума Ответить с цитированием
Старый 01.09.2018, 20:48   #10
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Цитата:
Сообщение от IliaIT Посмотреть сообщение
...если в самом тексте входящий параметр строкового типа не изменяется "
Почему не изменяется? А если url с изменяющемся параметрами?
Женя32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка - [Error] GraphUnit.pas(104): Types of actual and formal var parameters must be identical Ash Общие вопросы Delphi 8 30.10.2012 21:01
Constant object cannot be passed as var parameter RakNaGore Помощь студентам 1 12.07.2011 12:48
Constant Object cannot be passed as a var parameter. Alex Cones Общие вопросы Delphi 3 15.10.2009 21:51
Ошибка Constant object cannot be passed as var parameter nusik Общие вопросы Delphi 7 15.05.2009 21:00
Помогите найти ошибку Constant object cannot be passed as var parameter N!ckeL Общие вопросы Delphi 2 18.04.2008 15:36