Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Когда Post работает как Next / 25 сообщений из 37, страница 1 из 2
02.06.2006, 14:06
    #33768779
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Чего то я глючить начал. Вот ниже код где я обнуляю значение оного поля(не всех!) если выполняется условию. А затем делаю Next

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  T1->First();
   while(!T1->Eof)
   {
    if ( T1ID->Value == val)
    {
       T1->Edit();
       T1ID->Value =  0 ;
       T1->Post();
    }
     T1->Next();
   }

Так на самом деле обнуляются записи удовлетворяющие условию, но через одну! Типа Post срабатывает как Next, а затем и сам Next срабатывает ...

А вот ниже код где все поля всех записе обнуляются и здесь метод Post
не работает как Next
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
  T2->First(); 
  while(!T2->Eof)
  {
   T2->Edit();
   T2TIP->AsString = "";
   T2KOL->Value =  0 ;
   T2ZENA->Value =  0 ;
   T2->Post();
   T2->Next(); 
  }

Дак а чего оно так работает?
...
Рейтинг: 0 / 0
02.06.2006, 14:31
    #33768874
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Судя по всему Builder.

Может у тебя события есть какие-то на AfterPost ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.06.2006, 14:39
    #33768903
Dmitrii K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Возможно это связано с полем ID...
Дебаг вам в руки :)
...
Рейтинг: 0 / 0
02.06.2006, 14:45
    #33768922
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Карабас Барабас
Судя по всему Builder.

Может у тебя события есть какие-то на AfterPost ?

Posted via ActualForum NNTP Server 1.3

Да действительно для 2-й есть AfterPost, но в нем ничего такого

Код: plaintext
1.
2.
  MainForm1->bSave->Enabled = true;
  MainForm1->bbSave->Enabled = true;
  MainForm1->bbCancel->Enabled = true;

А вот для 1-й нет и там не все впорядке с Post-Next ...
...
Рейтинг: 0 / 0
02.06.2006, 14:49
    #33768937
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  T1->First();
   while(!T1->Eof)
   {
    if ( T1ID->Value == val)
    {
       T1->Edit();
       T1ID->Value =  0 ;
       T1->Post();
    }
     T1->Next();
   }
мы ж тут сишники !
я бы так написал:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
for(T1->First();!T1->Eof;T1->Next())
 {
   if ( T1ID->Value == val)
    {
       T1->Edit();
       T1ID->Value =  0 ;
       T1->Post();
    }
}
а у T1ID нет никаких событий ?
напервый взгляд, да и на второй, код нормальный.
Кстати, версия стройки какая ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.06.2006, 15:03
    #33768991
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Вообщем BCB 6. На T1ID НЕТ никаких событий. А предложенный код поменял значения так:
1
0
1
1
0
0
0
1
0
0
1
1
0
1
...
Вместо 1 должны быть 0 (ноли)!
...
Рейтинг: 0 / 0
02.06.2006, 15:11
    #33769019
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Я конечно понимаю, что могу добавить в свой код else и оно будет работать, причем правильно работать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  T1->First();
   while(!T1->Eof)
   {
    if ( T1ID->Value == val)
    {
       T1->Edit();
       T1ID->Value =  0 ;
       T1->Post();
    }
    else T1->Next();
   }
Но все же это против логики. Ведь только Delete делает автоматический
Next, а Post его не должен делать! Может это связано с одним из полей -
NAME типа C254 - очень большое?
...
Рейтинг: 0 / 0
02.06.2006, 15:13
    #33769031
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Фигня таму тебя какая-то.
Пройдись отладчиком, проваливаясь в каждую функцию, посмотри, что реально делается

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.06.2006, 15:24
    #33769074
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Короче понятно... что ничего не ясно. Да работает у меня такое:
Query1->SQL->Text = "UPDATE t1 SET ID = 0 WHERE ID = " + IntToStr(val);
и даже быстрее чем while. Просто не люблю когда чего то не понимаю или недопонимаю!
Одна из причин не перестраивается индекс("гюляет") так как он у меня по
части строкового поля, размер которого 254 .
Индекс
Код: plaintext
AddIndex("goodnam.ndx","LEFT(NAM,50)",Opts_ex);
...
Рейтинг: 0 / 0
02.06.2006, 15:25
    #33769083
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
SCORPION Zне перестраивается индекс
дак у тебя индекс по этому полю ? а датасет после post пересортировку не делает ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.06.2006, 15:26
    #33769084
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
На счет индекса это предположение, что в нем причина...
...
Рейтинг: 0 / 0
02.06.2006, 15:32
    #33769102
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Индекс у меня по NAM , а не по ID, но скорее всего в индексе дело.
ХОТЯ почему же работает нормально, если я пишу else T1->Next();
...
Рейтинг: 0 / 0
02.06.2006, 15:42
    #33769135
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
SCORPION Z
ну лень тебе что ли отладчиком пройтись и рассказать тут, что ты там увидел ?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.06.2006, 15:56
    #33769213
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Карабас Барабас
SCORPION Z
ну лень тебе что ли отладчиком пройтись и рассказать тут, что ты там увидел ?

Posted via ActualForum NNTP Server 1.3
Да не знаю я как им пользоваться
...
Рейтинг: 0 / 0
02.06.2006, 16:00
    #33769241
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
SCORPION ZДа не знаю я как им пользоваться
Ctrl + F8 - ставишь точку останова на строчке с Post();
как остановилась, жмешь F7 до просветления :)

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.06.2006, 16:06
    #33769281
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Карабас Барабас
SCORPION ZДа не знаю я как им пользоваться
Ctrl + F8 - ставишь точку останова на строчке с Post();
как остановилась, жмешь F7 до просветления :)

Posted via ActualForum NNTP Server 1.3
Спасибо щас попробую...
...
Рейтинг: 0 / 0
02.06.2006, 16:11
    #33769312
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Ctrl + F8 - не работает!
Ставлю точку, а вот Ctrl + F8 -нифига не делает. Работает F8 (Step Over),
но это очень долго...
...
Рейтинг: 0 / 0
02.06.2006, 16:12
    #33769315
Dmitrii K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
SCORPION Zщас попробую...
На всякий случай: Точки останова ставятся в редакторе по F5 или мышой. ;)
...
Рейтинг: 0 / 0
02.06.2006, 16:12
    #33769319
Dmitrii K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
SCORPION Zно это очень долго...
Ставь точку останова и жми F9
...
Рейтинг: 0 / 0
02.06.2006, 16:13
    #33769322
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Dmitrii K.
DK> На всякий случай: Точки останова ставятся в редакторе по
DK> F5 или мышой. ;)
А, дак это в Default Keymap, а у меня IDE Classic - привычки не поменять .....

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.06.2006, 16:19
    #33769349
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Dmitrii K. SCORPION Zно это очень долго...
Ставь точку останова и жми F9
Да это я понимаю. Ну дохожу я до курсора и "вываливаюсь" в BCB, а как
сам дебагер показать?
...
Рейтинг: 0 / 0
02.06.2006, 16:20
    #33769359
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
SCORPION Zдохожу я до курсора и "вываливаюсь" в BCB, а как сам дебагер показать?
Дак BCB и есть debuger

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
02.06.2006, 16:24
    #33769388
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Ага а я думал Debug\View CPU. Ну и что там смотреть - 0н показывает
мой код и точку останова...
...
Рейтинг: 0 / 0
02.06.2006, 16:40
    #33769491
Dmitrii K.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
SCORPION ZАга а я думал Debug\View CPU. Ну и что там смотреть - 0н показывает
мой код и точку останова...
Жми дальше F7 (пошаговый дебаг) и смотри, что происходит...
...
Рейтинг: 0 / 0
02.06.2006, 17:00
    #33769585
SCORPION Z
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда Post работает как Next
Я понимаю что F7 пошаговый дебаг. Только вот куда смотреть?
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Когда Post работает как Next / 25 сообщений из 37, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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