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


Автор: Yami 26.9.2010, 14:40
Значит нужно, чтобы создавался типизированный файл при помощи метода класса

Тип записей файла

Код

TElement=record
 key:char;
 x,y:real;
end;


Тип файла
Код

TRealFile=file of TElement;


Сам класс

Код

TFile=class(TObject)
Memo1: TMemo;
Fname:string;
public
F:TRealFile;
FSz:integer;
procedure CreateFile;
end;


При создании файла пользователь вводит имя файла(Fname) и его размер(FSz) (в новом окне)
Содержание файла генерируется рандомно

описание метода:

Код

procedure TFile.CreateFile;
var i:integer;
el:TElement;
begin
AssignFile(F,Fname);
Rewrite(F);
for i:=0 to FSz-1 do
begin
randomize;
el.key:='a';
el.x:=random(101);
el.y:=random(101);
write(F,el);
end;
CloseFile(F);
end;


Все компилируется, но при запуске(создании файла) выдает ошибку "EAccessViolation at adress..."

Никак не пойму что не так(

Автор: БелАмор 26.9.2010, 15:53
Цитата(Yami @  26.9.2010,  14:40 Найти цитируемый пост)
при запуске(создании файла) выдает ошибку "EAccessViolation at adress..."

А вы не збываете создать объект своего класса перед его использованием?
Код

var
  Obj: TFile;
begin
  Obj := TFile.Create;
  // Работа
  Obj.Free;

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