Форум » Clipper » Самопроизвольное (редкое!) закрытие алиаса после ax_copyTo и ax_clearserveraof » Ответить

Самопроизвольное (редкое!) закрытие алиаса после ax_copyTo и ax_clearserveraof

p519446: hi all Кто-нить сталкивался с такой загадкой: выбираю алиас (он на АДСе, открыт via DBFCDXAX), устанавливаю order=0 и aof-фильтр (ax_setserveraof), затем копирую во времянку по условию фильтра (ax_copyTo). Дальше снимаю aof-фильтр (ax_clearservraof) и... алиас-источник в текущей области оказывается при этом закрытым! То есть, если дальше попытаться к нему обратиться как-то, то получаю по лбу: DBCMD/2001 Workarea not in use. Само противное, что происходит сиё редко. Воспроизвести не могу уже несколько дней :(

Ответов - 2

p519446: ЗЫ. Нарыл только вот тут: http://devzone.advantagedatabase.com/dz/content.aspx?key=48&id=22119 Но там у него АДС 5.5; неужто так и непофиксили сиё ?... :(

p519446: Разобрался. Если по какой-то причине таблица-времянка, *В* которую идёт копирование функцией ax_CopyTo(), имеет индекс (оставшийся от предыдущей работы с ней), то ax_CopyTo: 1) обнуляет содержимое этой времянки; 2) НЕ выполняет никакого копирования в эту времянку; 3) вызывает "тихую ошибку" номер 6091, которая записывается только в ADS_ERR.DBF; 4) самое "прикольное": выбирает НОВУЮ (ПУСТУЮ!) рабочую область, оставляя, впрочем таблицу-источник открытой. Именно в этой (пустой!) рабочей области у мну и вылезала ошибка, когда я пытался там делать что-то типа ordSetFocus(). Кстати, ax_ClearServerAOF() в такой пустой раб. области тоже ничего не сообщает клиенту, а только тихо пишет в лог АДСа такую же(вторую по счету) ax_error = 6091. Таким обр, воз и ныне там, где и был в АДС 5.5 :(



полная версия страницы