Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с FIBPlus [D5, IB6.x]


guest_Dmitry ©   (2005-01-28 07:46:00) 

Перевел приложение с FIB3 на FIBPlus4.8. В результате начались глюки на ранее нормально работавшем коде. К примеру, при вызове метода post для датасета возникает ошибка Dataset not in Edit or Insert mode, хотя состояние датасета dsEdit, и более никаких методов post или cancel не применятся. Подскажите, где проявляется кривизна рук.


guest_Dmitry   (2005-01-30 13:57:00) [1]

Может все-таки есть у кого-нибудь мысли по данному вопросу, пните в нужную сторону..


guest_Dmitry   (2005-01-29 14:01:00) [2]

... не доходит до меня почему так ...


Alexandr   (2005-01-29 13:57:00) [3]

ну и...


guest_Dmitry   (2005-01-29 13:31:00) [4]

Прошелся отладчиком. Ошибка возникает в модуле FIBDataSet:


procedure TFIBCustomDataSet.Resync(Mode: TResyncMode);
begin
if  vInGotoBookMark then
try
 vInGotoBookMark:=False;
 inherited Resync([])
finally
 EnableControls;
 EnableScrollEvents;  
end
else
 inherited Resync(Mode)
end;


в выделенной строке.


Alexandr   (2005-01-29 10:12:00) [5]

а может все-таки отладчиком пройтись и разобраться?


guest_Dmitry   (2005-01-29 06:57:00) [6]

Не было бы так смешно, если бы не было так грустно. Приложение работало без проблем в течении трех лет, пока не перешел на новые фибы. Тем более кода то как кот наплакал. Может фибы криво поставил...


Johnmen   (2005-01-29 01:46:00) [7]

>Поменял - тоже самое...
> возникает ошибка Dataset not in Edit or Insert mode

Враньё, однозначно...


guest_Dmitry   (2005-01-28 14:24:00) [8]

Поменял - тоже самое...


Val   (2005-01-28 14:11:00) [9]

Может попробовать все-таки заменить <> dsBrowse на in [dsInsert,dsEdit], скажем?


guest_Dmitry   (2005-01-28 13:02:00) [10]

смотрел отладчиком, в том то и вся проблема, - dsEdit показывает.


Alexandr   (2005-01-28 12:53:00) [11]

посмотри отладчиков чего в  srDocstring.DataSet.State
сдается мне там что-то отлмчное от browse, insert и edit


guest_Dmitry   (2005-01-28 12:42:00) [12]

извиняюсь, забыл тэг закрыть
ошбка в srDocstring.DataSet.Post;


guest_Dmitry   (2005-01-28 12:39:00) [13]

гм.. вот код:


procedure TfrDocstring.sbSaveClick(Sender: TObject);
begin
 inherited;
   if srDocstring.DataSet.State <> dsBrowse then
   try
     srDocstring.DataSet.Post;
    except end;
   sbSave.Enabled:=false;
   Close;
end;


и далее onClose:


procedure TfrDocstring.FormClose(Sender: TObject;
 var Action: TCloseAction);
begin
if (srDocstring.DataSet<>nil) and (sbSave.Enabled) and
   (srDocstring.DataSet.State <> dsBrowse) then
      try
       srDocstring.DataSet.Cancel;
     except end;
end;


Вот и весь собственно код.
В выделенной строке дает ошибку, хотя дытасет находится в dsEdit.


Alexandr   (2005-01-28 10:05:00) [14]

1) а где взял FIBPlus?
2) переход сильно длинный, а значит надо весь код пересматривать, а особенно указанную 17 строку.


Johnmen   (2005-01-28 09:42:00) [15]

в 17 строке


Наверх

Титульная страница Поиск, карта сайта Написать письмо