:: Архив конференции по VFP до 2005 года
Распаковывающийся файл...
Aries
Автор

Сообщений: 4349
Откуда: Николаев
Дата регистрации: 24.12.2002
У меня в архиве лежит пара табличек. По логике программы мне надо распаковать табличку и открыть ее.
Распаковываю архиватором RAR запуская его через WinExec
DECLARE LONG WinExec IN WIN32API String cExecute, Long Mode
lcString=lcPath+"RAR\"
lcString=lcString+"RAR.EXE x -ac -o+ -y "
lcString=lcString+lcPath+"MyArchive"+" "
lcString=lcString+lcPath+"DBF_BASE"
WinExec(lcString,0)

Но тут вышел казус [sm011], а именно:
распаковка идет сама по себе, а фокс сразу же продолжает выполнение программы, оно то и понятно.
Сразу после распаковки я открываю эту табличку и вываливается ошибка -поврежден файл мемо-
т.е я открываю горяздо ранее, чем произошла распаковка.

Проверка на существование файлов не катит. Файл создан но не дописан до конца и тут же
попытка открыть - валится ошибка.
Пробовал тормознуть фокс командой
WAIT "" TIMEOUT 2
тоже не фонтан.

Может у кого есть идеи как решить проблемку. (Она решена конечно, но через одно место, а хочется культурно)




------------------
Я бы переписал жизнь, но Бог не дает мне исходники (с)
==============================
Злостный линуксоид!
Ratings: 0 negative/0 positive
Re: Распаковывающийся файл...
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
forum.foxclub.ru
www.foxclub.ru




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Распаковывающийся файл...
Alv

Сообщений: 259
Дата регистрации: 27.10.2002
Вот функция которая проверяет доступность файла на запись.
func file2
LPARAMETERS FileNP,Message4Wait
LOCAL handleFileNP,i
i=1
DO WHILE i<10
IF FILE(FileNP)
handleFileNP=FOPEN(FileNP,2)
IF handleFileNP>0
FCLOSE(handleFileNP)
WAIT WINDOW Message4Wait TIMEOUT .01
RETURN .T.
ENDIF
FCLOSE(handleFileNP)
ENDIF
WAIT WINDOW Message4Wait TIMEOUT 1.2
i=i+1
ENDDO
WAIT WINDOW Message4Wait TIMEOUT .01
RETURN .F.
Ещё кроме RunAndWait есть LaunchAppAndWait(фоксовя процедура с использованием API).
Ratings: 0 negative/0 positive
Re: Распаковывающийся файл...
Aries
Автор

Сообщений: 4349
Откуда: Николаев
Дата регистрации: 24.12.2002
Piva а других вариантов нету? Что-то не хочется использовать еще какие библиотеки. [sm112]




------------------
Я бы переписал жизнь, но Бог не дает мне исходники (с)
==============================
Злостный линуксоид!
Ratings: 0 negative/0 positive
Re: Распаковывающийся файл...
piva

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Ну там по ссылке была моя прибамбасина на чистом API без внешних библиоек работает




------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: Распаковывающийся файл...
Alv

Сообщений: 259
Дата регистрации: 27.10.2002
Ну вот вообще без API

if !file2('mybase.dbf','Подождите...')
wait wind 'Ошибка распаковки.'
retu .f.
endi
use mybase.dbf
Ratings: 0 negative/0 positive
Re: Распаковывающийся файл...
Aries
Автор

Сообщений: 4349
Откуда: Николаев
Дата регистрации: 24.12.2002
To Alv
в общем я так и сделал [sm129]




------------------
Я бы переписал жизнь, но Бог не дает мне исходники (с)
==============================
Злостный линуксоид!
Ratings: 0 negative/0 positive


Извините, но у вас нет прав для того, чтобы оставлять сообщения в этом форуме.

On-line: 5 (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика