Найдено 3489 результатов

Игорь Столяров
18 Апрель 2019, 13:25
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

Зачем тогда передавать по адресу? Для простых типов. Для простых типов данных с CONST проблем нет, а передавать их по адресу иногда приходится что бы не гонять большие объёмы через стек (big string) и потому, что иначе низя (*decimal). Но это, так сказать, для поддержания приятной беседы … ;) Вопро...
Игорь Столяров
18 Апрель 2019, 12:00
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

PavelNK писал(а):
18 Апрель 2019, 11:42
Делаешь копию сам,
Сделав ещё один круг, пришли-таки к очевидному костылю. :)
А вот только на вопрос: напс тогда в синтаксисе есть параметр (const *Group) ? - никто ответить не может. ;)
Игорь Столяров
18 Апрель 2019, 11:37
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

finsoftrz писал(а):
18 Апрель 2019, 11:14
Я передаю параметры по адресу, если их надо модифицировать в вызываемой процедуре
А если наоборот: параметры передаваемые по адресу (в т.ч. GROUP) нужно защитить от случайной модификации в вызываемой процедуре ?
Игорь Столяров
18 Апрель 2019, 10:08
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

Группа может в себе содержать самые разнообразные объекты Я бы в этом месте всё-таки разделил бы понятия: "массивы, группы" и "ссылки, объекты классов (по сути - те же ссылки)". Для первых - на момент использования предопределён SIZE() и никто не мешает создать область памяти (например строку), и с...
Игорь Столяров
17 Апрель 2019, 23:24
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

Yufil писал(а):
17 Апрель 2019, 22:00
Потом плюнул, потом допилю, если будет нужно
Видимо также думали и творцы Clarion … :)
Поэтому CONST работает для базовых типов данных и не работает для GROUP.
Наверно не было нужно ? ;)
Игорь Столяров
17 Апрель 2019, 18:15
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

Yufil писал(а):
17 Апрель 2019, 15:36
А точно копия делается?
Неа. Кто же знает, как это реализовано на самом деле ...
Игорь Столяров
17 Апрель 2019, 12:24
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

Понял ... Нет, вот это место. Надо будет потом самому проверить - в общем-то несложно ...
Дед Пахом писал(а):
16 Апрель 2019, 13:12
Нет, тут происходит изменение ссылки. Есть 2 строки в памяти: 'ABC' и 'DEF'. Сначала ссылка указывает на первую, потом на вторую.
Игорь Столяров
17 Апрель 2019, 11:14
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

vic7tar писал(а):
17 Апрель 2019, 11:11
const используется при передаче переменной по ссылке, экземпляр будет один
Чуть ниже по тексту посмотрите - там Дед Пахом на эту тему говорил …
Игорь Столяров
17 Апрель 2019, 11:02
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

А как собираетесь контролировать? Наоборот. Не хочу (или не могу - см. предыдущее сообщение) контролировать изменение переменной в процедуре. В этом случае CONST обещает, что возможные изменения не попадут в вызывающую процедуру. Предположение ! Как я понимаю, перед вызовом процедуры делается копия...
Игорь Столяров
17 Апрель 2019, 6:53
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

А какой смысл вообще использовать const? Му, например, защита передаваемых в процедуру по адресу данных от изменений. Ведь некоторые типы данных передаются только по адресу (*decimal, *group и т.д.) или иначе не эффективно (big string). Безусловно, рукастый программист может легко контролировать ты...
Игорь Столяров
16 Апрель 2019, 15:03
Форум: Обо всем ...
Тема: Win10 Флешки
Ответы: 22
Просмотры: 367

Win10 Флешки

У меня гигабайтная киношка на USB3 за минуту не записалась. Ладно, уговорили. :) Эксперимент ! - Компьютер так себе (6 лет), но USB3 есть. - Windows 10 Pro со всеми обновлениями; - Все драйвера Microsoft; - Антивирус - штатный (Защитник) - 70 файлов, запароленные RAR (несжимаемые аппаратно); - Разм...
Игорь Столяров
16 Апрель 2019, 13:31
Форум: Обо всем ...
Тема: Win10 Флешки
Ответы: 22
Просмотры: 367

Win10 Флешки

kreator писал(а):
16 Апрель 2019, 12:49
Может хаб виноват? Или драйвера не те?
Можно для теста включить накопитель напрямую в порт … лишняя контактная группа (особенно произведённая в Поднебесной)
скорости не добавляет точно. :) Также может ещё какой-нибудь самопальный антивирус фильтровать трафик "на лету" и т.д.
Игорь Столяров
16 Апрель 2019, 13:20
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

Сначала ссылка указывает на первую, потом на вторую. Да, при объявлении с CONST для базовых типов данных похоже, что делается копия переменной и передаётся адрес копии. Заметил, когда стал обрабатывать огромные строки в цикле передавая их через (Const *String). Почему так не делается для GROUP - не...
Игорь Столяров
16 Апрель 2019, 13:04
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

CONST запрещает изменять переданный параметр, в данном случае ссылку на группу. Правда, я не знаю, как её можно изменить Несогласный я с обоими утверждениями ! В этом случае TestProc(const *string) должно запрещать изменять ссылку на STRING, но запрещает-то изменять ЗНАЧЕНИЕ строки … Изменить можно...
Игорь Столяров
16 Апрель 2019, 12:39
Форум: CLARION for Windows
Тема: Так и должно быть (const *Group) ?!
Ответы: 27
Просмотры: 260

Так и должно быть (const *Group) ?!

Дед Пахом писал(а):
16 Апрель 2019, 12:31
очевидно первое.
А можно пояснить в чём причина, для тех кто в танке ? ;)
Я то уже выкрутился, но хотелось бы понять … :)