Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Переполнение стека при выполнение процедуры


Автор: RinOSpro 15.10.2007, 09:09
Есть процедура которая имитирует tab при нажатие на enter:

Код

procedure TForm4.EnterToTab(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
  try
  if (DataSourceChange.State = dsEdit) or (DataSourceChange.State = dsInsert) then PostDataSet(DataSourceChange);
  Key := #0;
  SelectNext(Sender as TWinControl, True, True);
  except
    Exit;
  end;
end;


сначала все работало но потом появилась ошибка преполнения стека, я дошел до того что эта процедура см. выше виновата в этой ошибке.

Помогите исправить процедуру чтоб работала.

Автор: RinOSpro 15.10.2007, 12:37
Тут даже дело не в процедуре, а в том как я понял при событие Post, случается ошибка.
Скажу как еще организованы связи может это придаст ясности.

Таблица "Абоненты" зависит от табл. "Контролёры", MasterSours := DataSource14 (контролеры); MasterFields := КодКонтролера; 

IndexFields := КодКонтролера;

Таблица "СубАбоненты" зависит от "Абонентов", MasterSours := DataSource1 (абоненты); MasterFields := НомерАбонента; IndexFields := 

НомерСубАбонента;

Как бы получается 3 связь "Контролёры" -> "Абонентов" -> "СубАбоненты".

Или вот в виде картинки:

Помогите пожалуста!!!

Автор: MetalFan 15.10.2007, 13:41
приведенных данных имхо мало для внятного совета.
зачем try..except?
ошибка наверное в 17й строке метода(процедуры) PostDataSet

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)