![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() не нашла в нете ответ на свой вопрос. Куча подобных примеров, пишу также, а у меня не работает.
В классе TMySQLFileWaterBodyExporter создаю атрибут типа TextFile. При запуске программы пишет ошибку "Access violation at address 00402E6C in module "project1.exe". Write of address 00000004". Падает имено при обращении к AssignFile. Когда локально в процедуре объявляю переменную TextFile, все ОК. Не понимаю, что не так? Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TMySQLFileWaterBodyExporter = class private F: TextFile; public procedure Prepare(); procedure Close(); end; TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public MySQLFileWaterBodyExporter: TMySQLFileWaterBodyExporter; end; var Form1: TForm1; implementation {$R *.dfm} procedure TMySQLFileWaterBodyExporter.Prepare(); begin AssignFile(F, '111.txt'); Rewrite(F); CloseFile(F); end; procedure TMySQLFileWaterBodyExporter.Close(); begin //CloseFile(ExportFile); end; procedure TForm1.Button1Click(Sender: TObject); begin MySQLFileWaterBodyExporter.Prepare(); MySQLFileWaterBodyExporter.Close(); end; end. Последний раз редактировалось khosveta, 19.05.2011 в 14:47. |