Форум компании "ОМЕГА"
23 Ноября 2019, Суббота, 00:00:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Можно ли в AD закрыть файл ???  (Прочитано 13914 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Askadullin
Full Member
***
Офлайн Офлайн

Сообщений: 115


WWW
« Ответ #7 : 13 Января 2010, Среда, 13:34:59 »

Тонкости ща толком не припомню, давно дело было, помню с бубном изрядно побегал.
Но помню шо такой фокус тока с одним фалом прокатывал, если применить «REOPEN» ко второму файлу то как раз то и выдавал ошибку про «Поинтеры».
И как то это решалось путем махинаций с последовательностями, т.е. либо с начало один файл сохраняешь – переоткрываешь – удаляешь, либо сначала два файла открываешь потом их сохраняешь и т.д.
Было дело и на один файл выдавал подобную ошибку, там тоже вроде все решилось перемещением строк в коде.
Физику этих ошибок так и не понял.
Т.ч. если есть время, бубен в руки и в перед.
Спасибо.
Действительно два REOPEN для двух файлов рядом не проходят, начинаю пляску с бубном.
Записан

Zero Efforts Works
scorpion
Full Member
***
Офлайн Офлайн

Сообщений: 109


« Ответ #6 : 12 Января 2010, Вторник, 10:50:19 »

Тонкости ща толком не припомню, давно дело было, помню с бубном изрядно побегал.
Но помню шо такой фокус тока с одним фалом прокатывал, если применить «REOPEN» ко второму файлу то как раз то и выдавал ошибку про «Поинтеры».
И как то это решалось путем махинаций с последовательностями, т.е. либо с начало один файл сохраняешь – переоткрываешь – удаляешь, либо сначала два файла открываешь потом их сохраняешь и т.д.
Было дело и на один файл выдавал подобную ошибку, там тоже вроде все решилось перемещением строк в коде.
Физику этих ошибок так и не понял.
Т.ч. если есть время, бубен в руки и в перед.
Записан
Askadullin
Full Member
***
Офлайн Офлайн

Сообщений: 115


WWW
« Ответ #5 : 09 Января 2010, Суббота, 21:12:56 »

Вопрос снят.
Разобрался самостоятельно.
Есть тонкости, кого интересует спрашивайте.
"Тонкости" интересуют. Так как reopen получается для текстового файла, для файлов clarion и т.д. вываливается в ошибку.
Критическая ошибка выполнения
26 Чтение:Неопределенный формат в модуле
Q:\EXEW\SBW......  по адресу 27 Pointer 21
TypeObj=55 FILE ACT
Pointer=21
TypeObj=55 FILE ACT
------------------------
Версия АБАКУСа 2.07.20 SP-10
« Последнее редактирование: 09 Января 2010, Суббота, 21:19:39 от Askadullin » Записан

Zero Efforts Works
scorpion
Full Member
***
Офлайн Офлайн

Сообщений: 109


« Ответ #4 : 13 Августа 2008, Среда, 10:15:04 »

Вопрос снят.
Разобрался самостоятельно.
Есть тонкости, кого интересует спрашивайте.
Записан
Jukova
Сотрудник ООО ОМЕГА
*****
Офлайн Офлайн

Сообщений: 80


« Ответ #3 : 31 Июля 2008, Четверг, 12:41:20 »

На какой версии ABACUSа Вы работаете?
Подробнее опишите ошибку (лучше скриншот).
Записан
scorpion
Full Member
***
Офлайн Офлайн

Сообщений: 109


« Ответ #2 : 31 Июля 2008, Четверг, 11:20:46 »

неработает... Грустит
при попытке переоткрыть файл выдает ошибку о неверном формате... Нерешен
Записан
Jukova
Сотрудник ООО ОМЕГА
*****
Офлайн Офлайн

Сообщений: 80


« Ответ #1 : 07 Февраля 2007, Среда, 13:07:45 »

Все файлы, на которые есть ссылки в алгоритме, закрываются только после завершения алгоритма SBW.
Команды закрытия файла в дизайнере нет.  Нет
Но Идея! есть оператор FILE ACT - SAVE, который, по сути, копирует файл по указанному пути:
file FILE1 SAVE path 'c:\BD\copy\file1.dbf' (при этом файл-копия не открывается).  
Кроме того, есть операторы FILE ACT- REOPEN и REMOVE. Первый переоткрывает файл по заданному пути. Второй удаляет файл.
Конструкция типа:
file FILE1 SAVE path 'c:\abacus\copy\file1.dbf'
file FILE1 REOPEN path 'c:\abacus\copy\file1.dbf' 
- открывает файл-копию, при этом файл-исх. закрывается 
file FILE1 REMOVE                                            - удалить файл-копию 
"закрывает" исходный файл данных (если не хочется работать с копией файла!).
« Последнее редактирование: 07 Февраля 2007, Среда, 13:09:52 от Jukova » Записан
scorpion
Full Member
***
Офлайн Офлайн

Сообщений: 109


« : 07 Февраля 2007, Среда, 03:23:05 »

Ситуация такова.
Алгоритм SBW выполняет расчеты и добавляет запись в пользовательский файл file1.dbf (DBase IV) функцией add record.
Также в в алгоритме реализован экспорт в Excel. Экспорт в Excel выполняется так:
командой clacall запускается dll-ка которая запускает шаблон Excel
в шаблоне Excel макрокоманды открывают файл file1.dbf следующим образом
  Set db1 = OpenDatabase("c:\BD", dbDriverComplete, True, "DBASE IV")
  Set rec1 = db1.OpenRecordset("file1", dbOpenForwardOnly)

потом построчно считывают из него данные и размещает на листах шаблона.
После, управление передается обратно Abacus Prof. и продолжается выполнение алгоритма SBW.
Вопрос в следующем.
Под windows 2000, XP выполняется все без ошибок и ругательств.  Улыбается
Под windows 98 при выполнении первой, из двух указанных строчек макрокоманды, Excel выводит сообщение об ошибке:
Файл file1.dbf не может быть открыт ядром Microsoft Jet, так как открыт другим приложением монопольно. Закройте приложение и попробуйте еще раз.  Задумался
Если алгоритм SBW реализовать так, чтобы управление к нему не возвращалось (т.е. после экспорта он сразу завершает свою работу пока макрокоманды Ecxel  не начали выполнять указанные действия), то все работает без ошибок и ругательств.  Улыбается
Следовательно алгоритм SBW работает с файлом file1.dbf монопольно, так вот как сделать чтобы он работал не монопольно, или закрывал его на время экспорта?  Нерешен
И почему это проявляется только на windows 98?  Нерешен
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Страница сгенерирована за 0.401 секунд. Запросов: 20.