![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Я не Дельфист. Но
Понадобилось срочно сделать простую спец утилитку. Я выбрал Дельфи т.к. там есть нужные компоненты. Для сохранения в DBF файл нашел простейший компонент и возрадовался. ----- Компонент TDBF. Автор : Брусникин Игорь Викторович - majar@nm.ru Версия : 1.11 - 14.06.2004 Статус : Свободно распостраняемый (freeware). Назначение : Компонент TDBF предназначен для непосредственного доступа (безиспользования BDE, ODBC и т.п.) к файлам формата dbf версий dBase III+, dBase IV, dBase V, dBase for Windows. Работает с Delphi 3..6 под Windows 9X/NT4/2000/XP. --------- Компиляция в Дельфи 6- без вопросов При выполнении DBFile.Active:=false; в модуле Unit1.pas всплывает >Debuger exception notification >Project ....exe raised exception class EAccessyViolation with message 'Access violation at address .... in module '....exe'. Read of address 0000035'. >Process stopped. При этом в модуле DBF.pas подсвечена строка > if FActive then в процедуре procedure TDbf.Close; begin if FActive then begin DFile.Free; ClearHeader; FieldList.Clear; FActive:=False; end else raise ED.Create('Close: Ôàéë íå îòêðûò'); end; описание внутренних переменных такое private FTableName: String; FExclusive: Boolean; FActive: Boolean; при выполнении DBFile.TableName:=DBFileName; выпадает на строке if not FActive then в процедуре procedure TDbf.SetTableName(Name: String); begin if not FActive then begin if UpperCase(ExtractFileExt(Name))='.DBF' then FTableName:=Name else raise ED.Create('TableName: Íåäîïóñòèìûé òèï ôàéëà'); end else raise ED.Create('TableName: Ýòî ñâîéñòâî íåëüçÿ èçìåíÿòü, åñëè ôàéë îòêðûò'); end; Подскажите чайнику = в чем проблема Может какой режим компиляции изменить? У меня все по-умолчанию. |