![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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. |