![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамическое создание FibQuery как поле класса
Девушка © (2010-04-07 11:04:00)Объявлен класс
TBaseExporter=class (TObject)
private
FIBQuery:TpFIBQuery;
public
Constructor Create(InDatabase:TpFIBDatabase;InTransaction:TpFIBTransaction);
Destructor Destroy; override;
...
End;
...
Объявление конструктора
Constructor TBaseExporter.Create(InDatabase:TpFIBDatabase;InTransaction:TpFIBTransaction);
Begin
Inherited create();
FIBQuery:=TpFIBQuery.Create(nil);
FIBQuery.Database:=InDatabase;
FIBQuery.Transaction:=InTransaction;
End;
При вызове конструктоар на строчке "FIBQuery:=TpFIBQuery.Create(nil);" вылетает с AV (адреса в AV сильно отличные от нуля т.е. с неициниализацией объекта видимо не связано)
В то же время код
procedure TForm1.Button2Click(Sender: TObject);
Var
FIBQuery:TpFIBQuery;
begin
FIBQuery:=TpFIBQuery.Create(nil);
FIBQuery.Free;
end;
проходит без ошибок.
Сергей М. (2010-04-07 13:18:00) [1]
> Уже вот так
Теперь верно)
Девушка (2010-04-07 13:15:00) [2]
> Ну это же ересь самая настоящая)
Уже вот так BaseExporter:=TBaseExporter.Create(pFIBDatabase1,pFIBTransaction1);
Или что-то концептуально не так?
Сергей М. (2010-04-07 12:05:00) [3]
> Девушка (07.04.10 12:03) [2]
> BaseExporter.Create(pFIBDatabase1,pFIBTransaction1);
Ну это же ересь самая настоящая)
Девушка (2010-04-07 12:04:00) [4]Блин... вопрос снят.
Девушка (2010-04-07 12:03:00) [5]
> Ну а как вызывается конструктор TBaseExporter?
>
procedure TForm1.Button1Click(Sender: TObject);
var
...
BaseExporter:TBaseExporter;
begin
BaseExporter.Create(pFIBDatabase1,pFIBTransaction1);
...
pFIBDatabase1 и pFIBTransaction1 лежат на форме (Form1).
icWasya (2010-04-07 11:28:00) [6]Ну а как вызывается конструктор TBaseExporter?