Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

           Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
           И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - https://clck.ru/fCqwP

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2009, 02:48   #1
SadStar
 
Регистрация: 27.03.2009
Сообщений: 8
Злость Как правильно использовать компонент TDBF

Я не Дельфист. Но
Понадобилось срочно сделать простую спец утилитку.
Я выбрал Дельфи т.к. там есть нужные компоненты.
Для сохранения в 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))='.D BF' then FTableName:=Name
else raise ED.Create('TableName: Íåäîïóñòèìûé òèï ôàéëà');
end else
raise ED.Create('TableName: Ýòî ñâîéñòâî íåëüçÿ èçìåíÿòü, åñëè ôàéë îòêðûò');
end;

Подскажите чайнику = в чем проблема
Может какой режим компиляции изменить?
У меня все по-умолчанию.
SadStar вне форума Ответить с цитированием
Ответ

           Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
           Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно использовать ComboBox Pirotexnik Общие вопросы Delphi 6 26.03.2009 23:30
Как правильно использовать ActionMainMenuBar, ActionList и ActionManager A1seg Общие вопросы Delphi 1 18.03.2009 08:29
Как правильно использовать переменные в процедурах nikolai_P Microsoft Office Excel 22 15.05.2008 13:15
компонент TDBF furstenberg Компоненты Delphi 2 27.03.2008 19:23
Нужен совет! Как правильно использовать TextBox? Archi Общие вопросы .NET 3 29.12.2007 20:18