Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];

Вниз

Проблемы c Post   Найти похожие ветки 

 
Крутыш   (2003-11-23 12:46) [0]

Пишу складскую программу. База Access.
Вызываю форму для редактирования какого - то продукта питания.
Ссылаюсь на AdoTtable из той формы (эта форма просто
для просмотра товаров, поиска ....), из которой вызвал
форму для редактирования продукта.
1 вопрос.Когда перемещаюсь по DBEdit-ам в форме для редактирования,
ну типа наименование, серия, страна происхождения, единица измерения и т.д, вызывается метод post, хотя я его нигде не указывал. И изменения происходят в форме для просмотра.
Нужно же спросить пользователя желает ли он сохранить изменения. Автоматическое сохранение не надо.
2. вопрос. Если указываю Form2.adotable1.edit или Form2.adotable1.insert в форме для редактирования происходит ошибка. В родной форме всё нормально.


 
sniknik   (2003-11-23 13:09) [1]

> 1 вопрос
метод post вызывается кучей функций First, Next, Pred, Last ...
если хочеш запись только после подтверждения нужно менять логику программы, использовать оторванный/нередактируемый датасет либо посредника типа ClientDataSet запись делать после подтверждения руками(запрограммировать самому)/или ApplyUpdates второй случай.
> 2. вопрос
ошибка в 17й строке?


 
Крутыш   (2003-11-23 13:12) [2]

нет не 17 стрка!
Ошибка по адресу FFFFFFFFF
и указывает на Form2.adotable1.edit.


 
Anatoly Podgoretsky   (2003-11-23 13:13) [3]

Это не 17 строка


 
sniknik   (2003-11-23 13:16) [4]

Крутыш © (23.11.03 13:12) [2]
а полностью?
небось чтото вроде "access violetion ..... FFFFFFFFF"
обрашение к несозданому/уничтоженному обьекту.


 
Крутыш   (2003-11-23 13:47) [5]

[4]Sniknik, точно без базара, такая ошибка " access violetion ..... FFFFFFFFF".Чего делать?


 
Anatoly Podgoretsky   (2003-11-23 14:02) [6]

Ну чего, вешаться конечно или sniknik © (23.11.03 13:16) [4]


 
Крутыш   (2003-11-23 14:08) [7]

А если Dataset использовать.
SQl нужно класс как знать???
У меня книга большая есть!!!
Да я и знаю его немного!!


 
Anatoly Podgoretsky   (2003-11-23 14:25) [8]

Ну хорошо, дело твое, не хочешь как хочешь, наше дело предложить, ваше отказаться.


 
Крутыш   (2003-11-23 21:22) [9]

Отвечаю сам на поставленный вопрос:
чтобы обойти такую ошибку "access violetion ..... FFFFFFFFF"
используйте DataModule.


 
Крутыш   (2003-11-23 21:27) [10]

Продолжение 1 вопроса.
Не получилось у меня ничего с Dataset.
Когда перемещаешся по dBedit - ам срабатывает метод Post.(т.е.
когда перемещаешся по полям записи).
А как сделать так, чтобы метод Post срабатывал при перемещениях
по записям, а не по полям.


 
Наталия   (2003-11-24 06:15) [11]

Смотри
sniknik © (23.11.03 13:09) [1]
> 1 вопрос


 
ЮЮ   (2003-11-24 09:21) [12]

>Когда перемещаешся по dBedit - ам срабатывает метод Post
Только не само собой. Смотри свои обработчики. Добавь onAfterPost и трассировкой отследи откуда из твоего кода он вызван


 
Крутыш   (2003-11-26 08:58) [13]

ЮЮ[12]Нет у меня никакого кода, где был бы указан метод post?


 
Johnmen   (2003-11-26 09:20) [14]

>Крутыш © (26.11.03 08:58)
>Нет у меня никакого кода, где был бы указан метод post?

Очень сложный вопрос...Надо подумать...:)
Ничего не получается, не видно кода.
Но если его и нет, то это не значит, что он не вызывается.


 
AbrosimovA   (2003-11-26 09:23) [15]


> Крутыш © (26.11.03 08:58) [13]
> ЮЮ[12]Нет у меня никакого кода, где был бы указан метод
> post?


Напрямую - нет, а косвенно - да.


 
grusty   (2003-11-26 09:37) [16]

-->Крутыш

При перемещении по DBEdit метод Post не вызывается, т.е. если Вы вызовите метод ADOTable.Cancel (напримет нажатием кнопки "Отмена" на форме), то данные не сохранятся.


 
sniknik   (2003-11-26 09:45) [17]

Крутыш © (23.11.03 21:22) [9]
> Отвечаю сам на поставленный вопрос:
> чтобы обойти такую ошибку "access violetion ..... FFFFFFFFF"
> используйте DataModule.
частность.
более обшее и правильное решение, не обращайтесь к компонентам до их создания или после уничтожения.

Крутыш © (26.11.03 08:58) [13]
точно нету? а грид на форме лежит? потому как если dBedit не меняет запись то грид меняет и соответственно Post вызывается если изменения были.


 
Крутыш   (2003-11-26 10:47) [18]

sniknik[17] Грид, да есть лежит у меня на форме.


 
Sandman25   (2003-11-26 10:56) [19]

1 вопрос

BeforePost:

if not (вывод сообщения и запрос на запись подтвержден) then
Cancel;


 
sniknik   (2003-11-26 11:50) [20]

Крутыш[18]
это был не вопрос это был ответ. который кстати повторяется в разных формах с ответа N [1].

не пытайся "боротся" с Post, лутше поменяй логику. Post же делается тоже не просто так, если сделаеш как Sandman25 © (26.11.03 10:56) [19] нарвешся на другие проблемы, каждую запись придется подтверждать, может это где и нужно но похоже не в твоем случае, как я понял нужно подтверждение "скопом" по всем записям в форме(что в гриде), а без буфера в любой форме этого не сделаеш, даже отказавшись воспринимать обьективную реальность данную нам в виде Post.


 
Sandman25   (2003-11-26 12:01) [21]

[20] sniknik © (26.11.03 11:50)

Всегда можно выкрутиться. Например, можно переменные завести.

Before Post:

if not ConfirmShown then
begin
if (подтверждение) then
PostConfirmed := True
else
Cancel;
ConfirmShown := True;
end
else
if not PostConfirmed then
Cancel;

Но с другой стороны, может лучше логику программы изменить. Зависит от логики программы :)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.12.19;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.009 c
7-62301
Monak
2003-09-29 19:59
2003.12.19
Прошивка процесса


3-61970
Hooch
2003-11-26 11:55
2003.12.19
Добавить поле в adoDataSet


1-62109
BillyJeans
2003-12-08 15:23
2003.12.19
Простой вопрос про Excel...


6-62185
Dmitry V. Averuanov
2003-10-23 15:40
2003.12.19
Wake up on Lan


14-62209
SPeller
2003-11-25 14:28
2003.12.19
Глюк со звуком в играх под ХР





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский