|
|
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
Была такая ошибка, но не в fox'е не под xp и давно. Решение было в измен. названия файла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 19:00:12 |
|
||
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
Глупость скажу: SP1 ставить не пробовали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2005, 23:23:02 |
|
||
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
Меня nFHandle=0 устраивает, не устраивает то, что файловые операции с таким значением работают криво. В частности чтение файла при таком значении возможно только последовательно, а FSEEK зараза не работает... Из-за это у меня проблеммы и возникли. SP1 не ставил, но к сожалению такие же глюки были и на 6.0, правда крайне редко ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 10:01:59 |
|
||
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
А если этот глючный код выполнять из среды фокса, то результат хэндла тот же? Кстати, интересно, что есть в системе хэндл 0? может какой-то нестандартный ввод-вывод? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 10:06:09 |
|
||
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
А может все-таки - все дело - в пути ? (см.выше) Можно еще попробовать почистить эту директорию - и посмотреть, что выйдет. Возможно там просто какое-нибудь неудаляемое или еще какое "чудо" лежит (бывают в винде такие файлы), которое и портит всю картину? Для пробы - хотя бы путь сменить попробовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 10:42:52 |
|
||
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
Дело не в путях, ведь проходя FOPEN по шагам хэндл нормальный получается на том же файле. Кажись решил проблему, перед FOPEN был блок IF...ENDIF, поставил между ними блок команд работы с DBF (выбор области и индексация по полю), который был ниже FOPEN и пока работает успешно и без отладчика :/ ... cStr = FindVersion(cVersion,'pp') IF !EMPTY(cStr) =j_sys_report(cStr,,,[RED]) RETURN -1 ENDIF SELECT c_j_sformat && перенес снизу INDEX ON ver TAG ver && перенес снизу nFHandle = FOPEN(cPath+cFileName) IF nFHandle<0 =FCLOSE(nFHandle) RETURN -1 ENDIF ... вобщем непонятки какие-то, файловых операций выше не было, там все на уровне select-ов, чего-то фокс не успевает сделать до файловых операций на низком уровне, причем паузы (inkey(1), например) тоже не помогали :( всем спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 11:38:27 |
|
||
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
Что-то верхнего кода вначале кажется - как бы и не было ;) Выходит FindVersion - садился на голову Fopen?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 12:46:10 |
|
||
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
Я его на картинке не показал, а так в 4-ом сообщении многоточием обозначил И все равно на голове FOPEN сидит IF..ENDIF, уж должно было все работать как положено... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 13:30:42 |
|
||
|
FOPEN возвращает 0, а не -1 и не >0 !!!
|
|||
|---|---|---|---|
|
#18+
Возможно для полной отработки FindVersion нужна была пауза, созданная вставленной переиндексацией. Как она вообще отрабатывает? Может реально там какой-то файл создается, а потом удаляется? В STEP-е естественно этого и не будет заметно, а на результате FOPEN в "блоковом" выполнении - как-то значит и сказывалось. А как еще иначе можно объяснить? Можно другого рода паузу туда вставить - тоже по идее будет срабатывать как надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2005, 13:52:56 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33104842&tid=1594101]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
185ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 493ms |

| 0 / 0 |
