Автор Тема: Delphi + BDE +DBF  (Прочитано 1418 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#0: 05 Октября 2004, 13:05:45
С cабжевой связкой никто ли не работал?
Понимаю, что наличие BDE и старый формат DBase-IV (dbf) косячен сам по себе, но таковы уж исходные данные......
Есть пара проблем, хотелось бы выяснить (уяснить).

ЗЫ: а то сериал уже глаза намозолил. Опера становится \"мыльной\" :-))))
нах.

 fluf

  • Гость
#1: 05 Октября 2004, 13:09:39
работал. давненько правда.
косяков дохрена, вернее гибкости никакой. с селектами так вообще сплошной караул.
origin: Oracle forever.....

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#2: 05 Октября 2004, 13:25:28
Прога делает следующее:

В главной форме отображает в гриде всю таблицу.
Можно ограничивать видимость через SET RANGE

При поиске значения, из таблицы посредством SELECT FROM отбирается группа записей, удовлетворяющих условию и гридом (TrxQuery+TRxDBGrid) выводится юзеру. Юзер выбирает из найденных записей нужную и тычет в кнопку \"Перейти к выбранному\". При этом окно поиска исчезает, а в таблице указатель перекидывается на нужную запись посредством Locate( поле таблицы , значение столбца TRxQuery ).

Если все делать в пределах одного компа (таблица локальна), то все работает.
Если же таблица лежит в сети, то такой переход срабатывает только если не установлен SET RANGE. При установленном SET RANGE и попытке перекинуть указатель, программу вышибает напрочь из памяти без всяких сообщений, причем в рабочем каталоге программы остаются висеть временные файлы с результатами SELECT FROM. Они имеют вид _qsql000.dbf ненулевой длины.

Почему при локальной таблице и установленном SET RANGE перекидка указателя срабатывает, а при сетевой нет? Сижу вот, думаю...... Можь сталкивался?

нах.






Таблица DBase-IV лежит на новелловском серве

 fluf

  • Гость
#3: 05 Октября 2004, 13:34:09
Х.З.
попробуй отсекая все лишнее локализовать глюк.
сначала, например, убрать визуальные компонеты, попытаться задать RANGE  и сразу перейти на какую то срочку.
затем заменить RXксныке компоненты на аналогичные родные, может где и появится ясность.

Нахухоль

  • ***
  • Сообщений: 1720
    • Просмотр профиля
#4: 05 Октября 2004, 13:48:27
Спасибки, флаф. Пробовать буду завтра (седня уезжаю уже).
Поглядывай в эту ветку, я напишу чем дело кончилось.

нах.

rain

  • Гость
#5: 05 Октября 2004, 17:51:28
можно попробовать локейт выкинуть - простой перебор с начала таблицы со сравнением значения поля через ансистр или что там подойдет. Разве что медленнее будет...

 

kompas