Visual FoxPro

  • Автор темы Vika
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

Vika

#1
if deleted()
if messagebox("Восстановить эту запись?",4) = 6
sele respub
recall
endif
else
if messagebox("Удалить эту запись?",4) = 6
sele oblast
count to x
if x > 0
wait wind "У этой республики есть записи областей"
else
sele respub
delete
go top
endif
endif
endif
Подскажите почему не работает ветка ифа на восстановление? удаляет без проблем а восстанавливать не хочет :)
 

admin

Well-known member
08.08.2003
2 754
0
#2
Рад бы помочь, но в Fox Pro не сильно разбираюсь.
Попробуй обратиться в команию luxsoft. Там много фоксовцев.
 
V

Vagor.ini

#3
Возможно проблемы в открытой в данный момент базе. Получается, исходя из приведенного кода, что в момент опроса на удаление текущая база - oblast (ведь удаление проходит), а когда в диалоге мы разрешаем восстанавливать и открывается база respub, но, возможно, указатель не стоит на нужной записи.

В любои случае, для отладки разбери общий if на отдельные режимы и проверь как где
открытии той или иной базы стоит указатель.

Успехов!
 
A
#4
берешь дебаггер и выполняешь пошагово.
хорошо рядом иметь открытое окно Data Session.
таким образом ты увидишь, какая таблица открыта в данный момент и что в ней происходит.

вообще-то твой код работает...
то есть я в командном окне проделал :
CREATE TABLE respub (kod number(1))
INSERT INTO respub VALUES (1)
INSERT INTO respub VALUES (2)
SELECT respub
BROWSE
GO top
DELETE
?DELETED()
RECALL

запись пометилась на удаление (появилась черная метка слева, потом снялась).
может ты не ту запись тестишь DELETED() ?
может ешо что... позырь четко на указатель записи.
 
S

Serjo

#5
Здравствуйте немногочисленные посетители! Проблема такая: С таблицей происходят события приблизительно в следующем порядке: много Insert, Delete(?), Update(но не Sql-командой), Reindex, Pack, Read, Zap. Эта последоватьльность действий может повторяться несколько раз за сеанс работы пользователя, но проблема в том что иногда вдруг размер .CDX файла становится равным нулю, причем это всплывает как бы невзначай (при следующем запуске), отследить не могу никак, может кто-нить стакивался
 
V

Vagor.ini

#6
Ну приведи хотя бы кусочек кода, где проблему чувствуешь.

В моей приктике было падение cdx на тех базах, где memo-поля использовались. Это случалось из-за проблем с питанием компьютера (во время работы комп мог вырубиться), ну и приходилось писать обработку сбоя в меню пользователя (переиндексацию).

Так что посмотри может то же в memo вопрос.
 
S

Serjo

#7
memo-полей в таблице нет, а проблема втом что я не чувствую где сидит заноза, ибо все ветки кода отработаны и вместе работают нормально, но что хуже всего, когда тестирую прогу я у меня не получается ее сломать как бы я не старался приблизится к действиям пользователя, может быть эти идиоты действительно питание вырубают невзначай так :) :angry:
 
V

Vagor.ini

#8
Необязательно ведь питание вырубать, просто посмотри как они работу заканчивают, и если у тебя есть режим "Выход" проверь все ли там закрывается - завершается...

Успехов!
 
S

Serjo

#9
Спасибочки народ большое! Разрулил я эту хрень. У меня новая проблема: когда я в меню выбираю заголовок у меня появляется Submenu, как и должно быть, но почему-то если я щелкаю где нибудь в месте отличном от меню, это ранее появившееся Submenu не исчезает, и второе почему каждый заголовок меню обведён в рамочку, как-бы оно не 3D, а плоское. Меню у меня непосредственно в форме (а не в _SCREEN). А _Screen вообще отсутствует.
 
A
#10
менюха, прицепленная к форме номальный вид иметь не будить! -- факт.
а чем те _screen не нравится? к скрину нормальную менюшку прицепить можно -- и проблем с пропаданием не будет, хотя странно, что они есть -- имхо всё должно быть ОК, можно конечно покопать в сторону deactivate menu, hide menu, popup и т.п.
Но я бы всё равно советовал использовать меню скрина.
 
T
#11
подскажите где можно скачать foxpro 5.0 и выше
если можно - подскажите на мыло: tdl-group@narod.ru
 
Статус
Закрыто для дальнейших ответов.