Работа с файлами

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Сообщение Иван » 02.09.2005 12:23:46

{$mode objfpc}
{ $h+}
{$I-} // Отключаем вывод ошибок ввода-вывода необходимо для работы IOResult

type
TLog = class
private
logstr : string;
logfile : TextFile;
ready : boolean;
public
constructor Init;
procedure createLog(fname : string);
... // ну, еще там методы...
procedure closeLog; // Закрывает файл.
end;

constructor TLog.Init;
begin
logstr := '';
ready := FALSE;
end;

procedure TLog.createLog(fname : string);
begin
if ready = FALSE then begin
assign(logfile, fname);
rewrite(logfile);
ready := TRUE;
end;
end;
...

Пытаюсь это хозяйство использовать:

var
log : TLog;
begin
log.Init;
log.createLog('log.dat'); // Открываем файл.
... // создаю строки, пишу их в файл методами класса.
log.closeLog; // Закрываем файл
end.

при отладке Lazarus-ом спотыкается
project raised exception class 'External: SIGSEGV'
на строке
if ready = FALSE then begin
в методе
log.createLog('log.dat'); // Открываем файл.

FPC при выполнении выдает
Runtime error 216 at $0040110F
$0040110F
$00401352
PS А где можно доку по кодам ошибок посмотреть?

А что не так???
Иван
 

Сообщение Alexander » 02.09.2005 14:25:26

А где конструктор create ? Экземпляр класса же не создан. Log := TLog.Create;
216 это access volation.
Alexander
 

Сообщение Иван » 02.09.2005 15:08:46

Ага... Заработало, спасибо.
Иван
 


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

Рейтинг@Mail.ru
cron