глюки ABC

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

глюки ABC

Сообщение porutchik »

сборка глюков АВС. Простые рабочие ситуации, что в легаси работают без проблем. Кто скажет как обойти в в классовом подходе?
у кого есть еще похожие - предлагаю все грабли собрать в кучу, чтоб пореже наступать
Вложения
abcLtoA.zip
(9.94 КБ) 145 скачиваний
abctest.zip
(15.79 КБ) 152 скачивания
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

глюки ABC

Сообщение kreator »

Какая версия Клариона? И о чём там? Хотя бы в двух словах. Мне не нравится слово "глюк". Тем более, что якобы в легаси работает. Никто не отрицает ошибок в ABC. Но они правятся. А, если ошибка в RTL, то это да! Но тогда и легаси не работает.
We are hard at work… for you. :)
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

глюки ABC

Сообщение porutchik »

приложил сборку для 6.3, но в 10-ке та же песня
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

глюки ABC

Сообщение RaFaeL »

Первый пример не смотрел, а во втором глюк, если правильно понял, заключается в том, что не работает сортировка в browse по ключу типа Runtime Index
Первый раз слышу о таком ключе и не представляю, что это за "обычная рабочая ситуация" такая, что понадобился такой индекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

глюки ABC

Сообщение finsoftrz »

Runtime index - это индекс в оперативной памяти. Строится через build, когда надо. В словаре просто декларируется, а состав полей определяется при построении. Я не использую, но слышал, что есть люди, которые считают правилом хорошено тона иметь такой индекс в каждой таблице.
C6/C11, ШВС, tps/btrieve.
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

глюки ABC

Сообщение kreator »

finsoftrz писал(а): 26 Май 2020, 12:35 Runtime index - это индекс в оперативной памяти.
Судя по хелпу это не так.
BUILD(index,components,filter)
Builds a dynamic INDEX. This form does not require exclusive access to the file, however, the file must be open (with any valid access mode). The dynamic INDEX is created as a temporary file, exclusive to the user who BUILDs it. The temporary file is automatically deleted when the file is closed. If a filter is specified, the resulting INDEX will contain only those records which meet the filter criteria. The filter must be in a format supported by the file driver.
И, подозреваю, как раз проблемы с доступом к этому файлу. Вроде создаётся. Вот только где? Возможно на разных версиях Винды будут разные результаты.
А первый случай тоже притянут за уши. Окно функции stop() в случае Легаси открывается всегда посередине экрана монитора. А в случае АБЦ посередине того окна, откуда функция вызвана. Причём приложение без фрейма.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

глюки ABC

Сообщение finsoftrz »

Наверно, на диске. Почему-то в памяти осело, что в оперативке. Была в кламаге статья на эту тему.
Если на диске, то, видимо, искать надо где-то рядом с wmf для отчетов. В каталоге с основным файлом его нет.
Вряд ли вопрос в правах доступа. Если в классических шаблонах работает, а в abc проблема, то, может, build не в том месте сделан?
C6/C11, ШВС, tps/btrieve.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

глюки ABC

Сообщение Yufil »

Там же ясно указано - temporary файл. Значит, в каталоге %TEMP%.
Я пару раз пытался воспользоваться-неудачно, равно как и Index вместо Key.
Кончалось GPF...
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

глюки ABC

Сообщение finsoftrz »

Я сегодня на тесте попробовал. У меня отработало. Включая фильтрацию типа instring('2', pref:name, 1,1)>0. Интересно, оно умеет нужный ключ подбирать или шарашит по всем записям? Хотя опять таки, практического применения в своих задачах я пока не вижу.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

глюки ABC

Сообщение porutchik »

kreator писал(а): 26 Май 2020, 14:54 А первый случай тоже притянут за уши. Окно функции stop() в случае Легаси открывается всегда посередине экрана монитора. А в случае АБЦ посередине того окна, откуда функция вызвана. Причём приложение без фрейма.
там проблема не с "стопе". Первое окно должно закрыться после открытия второго, стопы для наглядности
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

глюки ABC

Сообщение porutchik »

finsoftrz писал(а): 26 Май 2020, 16:09 может, build не в том месте сделан?
сделан сразу после открытия файла
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

глюки ABC

Сообщение Дед Пахом »

STOP для отладки? "Мы пойдём своим путём".
С уважением, ДП
Аватара пользователя
porutchik
Активист
Сообщения: 150
Зарегистрирован: 01 Февраль 2009, 5:35

глюки ABC

Сообщение porutchik »

RaFaeL писал(а): 26 Май 2020, 12:09 Первый раз слышу о таком ключе и не представляю, что это за "обычная рабочая ситуация" такая, что понадобился такой индекс
в примере самое простое его использование... а еще в нем фильтр можно использовать
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

глюки ABC

Сообщение kreator »

porutchik писал(а): 26 Май 2020, 20:32
kreator писал(а): 26 Май 2020, 14:54 А первый случай тоже притянут за уши. Окно функции stop() в случае Легаси открывается всегда посередине экрана монитора. А в случае АБЦ посередине того окна, откуда функция вызвана. Причём приложение без фрейма.
там проблема не с "стопе". Первое окно должно закрыться после открытия второго, стопы для наглядности
А вот о чем речь. В Легаси и АБЦ разные подходы. Вы в Легаси стопы поставили после "close(window)", а в АБЦ этого нет. Ваши стопы стоят в методе Kill. А в нём формально окно не закрыто.
We are hard at work… for you. :)
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

глюки ABC

Сообщение finsoftrz »

Дед Пахом писал(а): 26 Май 2020, 20:38 STOP для отладки? "Мы пойдём своим путём".
А какие предложения?
C6/C11, ШВС, tps/btrieve.
Ответить