0 Members and 2 Guests are viewing this topic.
Пока я не увижу весь скрипт и от чего от тактируется, не смогу сказать, где ошибка, скорее всего элементарно не определены переменные.Вот тестовый проектик, сделал недавно для сравнения позиции Gauge со входным сигналом, поступающим с prvVisual. В нём всё работает.
FindObject('Panel15').Set('PlaceInfo.Margins.Right', (Arguments.Get('X')/100*(Log10(Gauge.Get('Position')))));
procedure Execute(Sender, Arguments: TComponent);varGauge , txt: TComponent;Log: Real;beginFindObject('Panel15').Set('PlaceInfo.Margins.Right', (Arguments.Get('X')/100*(Log10(Gauge.Get('Position')))));txt:=FindObject('TextTT');txt.set('Template', (Arguments.Get('X')/100*(Log10(Gauge.Get('Position'))))); end;
Ну, как я и предполагал - переменная Gauge не инициализирована.
В общем при наличии логарифма вылетает ошибка
Видимо потому, что логарифм 0 не существует, надо прибавить единичку.Переменная Log - лишняя, нигде не используется, ошибки не вызовет, но порядок должен быть.
Мне не совсем понятна глобальная задача - ты хочешь сделать имитацию свайпа по панели, чтоб она расширялась в нужном направлении с некоторой скоростью?
Вряд ли это можно реализовать, тем более, с использованием Gauge. Будет всё та же беда - слишком медленное перемещение компонента.