powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вот такие странности
4 сообщений из 4, страница 1 из 1
Вот такие странности
    #38624877
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такой код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
debugstr=FULLPATH(_myprg)+CHR(13)+CHR(10)+'1.   '+STR(SECONDS())+CHR(13)+CHR(10)
COPY MEMO frt TO (_myprg)
=ADIR(m, _myprg)
debugstr=debugstr+'2.   '+STR(SECONDS())+'   '+STR(m(1,2))+CHR(13)+CHR(10)
sql_lib.open_file(_myprg, .f.)
RELEASE m
=ADIR(m, _myprg)
debugstr=debugstr+'3.   '+STR(SECONDS())+'   '+STR(m(1,2))+CHR(13)+CHR(10)

RELEASE m
APPEND MEMO frt FROM (_myprg) OVERWRITE 
debugstr=debugstr+'4.   '+STR(SECONDS())+CHR(13)+CHR(10)
ERASE (_myprg)
debugstr=debugstr+'5.   '+STR(SECONDS())+CHR(13)+CHR(10)



отладка выдает:
D:\ASUP21_PROJ\MAINHELP\_41W0WEBA4.XML
1. 54416
2. 54416 21112
3. 54438 21112
4. 54438
5. 54438

При этом изменения в файл внесены, TotalComander показывает новую длину файла, просмотр строки(filetostr(_myprg)) показывает правильное содержимое

sql_lib.open_file - по сути:(+некий доп сервис)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
oApplicat=CREATEOBJECT("WScript.Shell")
oerror=.f.
TRY
	oApplicat.Run('"'+m.file_name+'"' , 3, .t.)
CATCH TO oerror
	MESSAGEBOX(oerror.message,16,"Файл "+m.file_name+" не открыт")
ENDTRY



Проблема в том, что в точке. 3 adir показывает старую длину файла, и соответственно Append memo подгружает неисправленную версию файла. Seconds я вывожу для того, чтобы убедиться, что программа ожидает завершения oApplicate.Run
...
Рейтинг: 0 / 0
Вот такие странности
    #38624959
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опыт показал, что задержка на 1 секунду перед точкой 3 задачу решает (пробовал с шагом 0,5 сек). Но как-то не красиво, да и машины бывают разные...
...
Рейтинг: 0 / 0
Вот такие странности
    #38625969
po2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
po2
Гость
FLUSH [[IN nWorkArea | cTableAlias] | [cFileSpec]] [FORCE]
...
Рейтинг: 0 / 0
Вот такие странности
    #38634714
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
po2,

flush не работает. чтобы сбросить буфер файл должен быть открыт в фоксе. а здесь он открывается в другом проложении. в данном случае - excel
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вот такие странности
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]