Страница 1 из 1

tdbf.active:=true --> sigsegv

СообщениеДобавлено: 18.08.2010 12:55:51
conversely
Здравствуйте. Постараюсь изложить суть вопроса.
Из компонентов управления данными на форме только TDataSource и TDbf. Свойства "DataSet", "MasterSource" заданы. Однако при программном задании свойства "Active" у TDbf, после компиляции и запуска получаем следующую ошибку Project raised exception class 'External: SIGSEGV'.. Если выставить свойство в true в инспекторе объектов, то lazarus просто падает без каких либо объяснений. Про журнал ничего не могу сказать, бо такового у lazarus не нашёл. messages не содержит ничего подозрительного.
Собственно вопрос как раз в том, как заставить этот компонент работать? Та же самая ошибка даже при выполнении следующего кода:
Код: Выделить всё
  Book_Dbf.FilePathFull:='data/';
  Book_Dbf.TableLevel:=7;
  Book_Dbf.TableName:='books.dbf';
  With Book_Dbf.FieldDefs
     Do Begin
               Add('Id', ftAutoInc, 0, True);
               Add('Name', ftString, 80, True);
           End;
  Book_Dbf.CreateTable;
  Book_Dbf.Active:=True;

З.Ы.
1. Данные о системе в подписи;
2. Запускать под root пробовал, таже история;
3. Параметры компилятора не могу однако просмотреть, получаю access violation при выборе данного пункта меню.

Re: tdbf.active:=true --> sigsegv

СообщениеДобавлено: 18.08.2010 13:00:34
Vadim
conversely писал(а):"MasterSource"

А это свойство у Вас нафига задано? Вы, что ли, Master-Detail отчёты мастерите?
Book_Dbf.FilePathFull:='data/';

Косая черта в конце - лишняя.

Re: tdbf.active:=true --> sigsegv

СообщениеДобавлено: 20.08.2010 08:40:44
conversely
Vadim писал(а): А это свойство у Вас нафига задано? Вы, что ли, Master-Detail отчёты мастерите?

Вот из-за него и был косяк, невнимателен оказался. Я так понимаю, что получается зациклил таблицу саму в себя. Спасибо, что ткнули носом.
Book_Dbf.FilePathFull:='data/'; Косая черта в конце - лишняя.
Да вроде читается путь как положено, здесь ошибок не возникает, проверил.

Спасибо за помощь, внешний взгляд хорошо помогает замыленному мозгу сообразить.