в режиме UseName=True верхние точки с разными именами не работают
вот пример в котором достаточно любую точку из DataPoints переименовать например из dat1 в bat1 и в коде sys.bat и приплыли. Пример не работает
code_10923.txt
Этот топик читают: Гость
Ответов: 5227
Рейтинг: 587
|
|||
карма: 4 |
| ||
файлы: 1 | code_10923.txt [944B] [1319] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Или ничего не понял, или всё работает
|
|||
карма: 6 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Nic,
andrestudio писал(а): переименовать например из dat1 в bat1 |
|||
карма: 19 |
| ||
файлы: 1 | error..png [6.9KB] [839] |
Ответов: 5227
Рейтинг: 587
|
|||
Nic, Выше в посте проделываю и получаю
Oбъeкт нe пoддepживaeт этo cвoйcтвo или мeтoд: 'bat2'
сам код такой code_10926.txt у верхней точки тоже имя bat2. Может у меня только такой криминал. |
|||
карма: 4 |
| ||
файлы: 1 | code_10926.txt [254B] [1283] |
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
Да - это знакомый мне глюк. Лечится просто: заведи себе за правило называть точки или однотипно или с соблюдением латинского алфавита и их очередности
------------ Дoбавленo: Уже давно, Dilma объяснял почему это так, помню что ничего не понял, но принял на веру, что так надо и больше вопросов не задавал. |
|||
карма: 6 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Не знаю, чего он там объяснял, но после замены на вот это
|
|||
карма: 1 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
А на SVN выложить?
|
|||
карма: 6 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Усё будет, не спеши.
|
|||
карма: 1 |
| ||
Голосовали: | andrestudio |
Ответов: 5227
Рейтинг: 587
|
|||
tsdima, Спасибо большое
Проверил, работает. Это большой плюс, пускай даже в своих кодах через некое время мы не увидим sys.dat1, sys.dat2 и т.д, всё же гораздо приятние видеть настоящие имена. Вот если бы ещё можно было коментарии через "=" делать к точкам было бы вообще замечательно (мне кажется что так и задумывалось), пробовал как то в окне подсказки коментарий отображается правельно но точка после этого стаёт не рабочей . Nic, не знаю как Вы а я начинаю прописывать точки по новым правилам p.s как устал вставать на грабли (в своём возрасте) голова болит чес слово |
|||
карма: 4 |
|
Ответов: 2125
Рейтинг: 159
|
|||
andrestudio писал(а): Вот если бы ещё можно было коментарии через "=" А я-то блин думал, нафига используется Find, а не IndexOf Можно, конечно, поправить, но в случае Find список должен быть отсортирован, поэтому и не работало dat1 bat2. ------------ Дoбавленo: andrestudio, исправь в коде IndexOf на IndexOfName. ------------ Дoбавленo: Пардон, чего-то не работает, щас выясню. ------------ Дoбавленo: А, ну да, там же знак = не всегда стоит ------------ Дoбавленo: Я поправил код выше, теперь работает. Только я не понял, как комментарии писать, чтобы они где-то высвечивались? |
|||
карма: 1 |
|
Ответов: 5227
Рейтинг: 587
|
|||
tsdima, знак = работает как делмер между именем и коментарием (это я так думаю) и пробовал я это прописывать в именах к точкам.
доконца не просёк куда этот код подставить, но сейчас попробую. |
|||
карма: 4 |
|
Главный модератор
Ответов: 2999
Рейтинг: 396
|
|||
tsdima писал(а): чтобы они где-то высвечивались?По крайней мере, при наведении мыши на точку, выдаются как коммент на баллоне. |
|||
карма: 6 |
|
Ответов: 5227
Рейтинг: 587
|
|||
Nic, помоги пожалуйста если можешь.
Вобщем не могу понять как в скрипт предать параметры для методов обьекта. Постараюсь обьяснить как смогу (пример только вечером если что) Где параметры имеют формат тип стринг то нет проблем, это у меня получается, а вот нужно передать имена переменных и некие константы допустим, сами переменные в скрипте уже обьявлены и имеют значение типа int (проверил мессагой) сама строка (обьект.метод var1, var2,100 допустим так) если её подставить в скрипт, работает так вот не получается эту строку через точку метода скрипта doCommand допустим передать, выскакивает ошибка о не соответствии типа данных, мануалы всякие читал и ни чего не мог найти (у них просто нет HiAsm ), в примерах тоже только с верхних точек, вобщем сами данные в формате стринг поступают через case selest куда нужно (мессагой ловлю) но тип данных как им сменить не пойму, нужно склонить обьект принять стринг за имена переменных, может какая то функция существует? |
|||
карма: 4 |
|
Ответов: 2125
Рейтинг: 159
|
|||
andrestudio писал(а): склонить обьект принять стринг за имена переменныхДля этого можно написать функцию в скрипте, которая содержит select case и по строковому имени выдаёт значение переменной. Есть ещё одна фича, но скорее всего вряд-ли пригодится: если через нижнюю точку вернуть объект, то его свойства можно считывать (а также устанавливать) с помощью ArrayRW, задавая имя вместо индекса. Можно возвращать массив со всеми переменными и считывать их по индексу. |
|||
карма: 1 |
| ||
Голосовали: | andrestudio |
Ответов: 5227
Рейтинг: 587
|
|||
tsdima, спасибо.
Кстати я так и сделал на сей момент. Но может оказаться что имён может быть много и case соответствено код смешной не покажется . Я думал что можно допустим как то функцию VarType(varname) применить или обьект какой нибудь для этих целей. пока писал мысля пришла попробовать связочку функций Replace(CStr) и VarType(varname) tsdima, к сожелению так и не понял что в коде который Вы выложили куда его приткнуть, может можно его как то целиком получить если коменты к точкам работают |
|||
карма: 4 |
|