Показать сообщение отдельно
  #1  
Старый 05.07.2012, 09:56
Аватар для Lost_Fish
Lost_Fish Lost_Fish вне форума
Начинающий
 
Регистрация: 21.07.2011
Адрес: Новосибирск
Сообщения: 103
Версия Delphi: Delphi 7,XE2
Репутация: выкл
По умолчанию Помогите Invalid Pointer Operation

Код:
procedure TfmImport.FormCreate(Sender: TObject);
var
  	LookUpField:TStringField;
begin
	FillFieldNames;
	try
		vtLinks.LoadFromFile('.\ImportProfile.prf');
    except
//сообщение об отсутствии файла
    end;
   	LookUpField:=TStringField.Create(vtLinks);
    LookUpField.Name:='vtLinksFieldNameLookUp';
   	LookUpField.FieldKind:=fkLookup;
    LookUpField.FieldName:='FieldNameLookUp';
    LookUpField.SetFieldType(ftString);
    LookUpField.Size:=50;
   	LookUpField.KeyFields:='InternalFieldIndex';
    LookUpField.LookupDataSet:=vtFieldNames;
    LookUpField.LookupKeyFields:='ID';
    LookUpField.LookupResultField:='Name';
    LookUpField.DataSet:=vtLinks;
    vtLinks.Fields.Add(LookUpField);
    vtLinks.Open;    
end;

procedure TfmImport.FormClose(Sender: TObject; var Action: TCloseAction);
begin
	SetCurrentDir(ExtractFileDir(Application.ExeName));
	vtLinks.SaveToFile('.\ImportProfile.prf');
	Action:=caFree;
    fmMain.FormControl.CloseFmImport;
end;

procedure TfmImport.btnCloseClick(Sender: TObject);
begin
	Close;
end;//Вот тут вылезает ошибка Invalid Pointer Operation

Не могу понять почему вылезает ошибка, подскажите что я делаю не так? проблема в динамически создаваемом LookUp поле, создаёться оно нормально. Создаю его потому-то оно в файл не сохраняется, но при закрытии сабж + EAccessViolation при закрытии главной формы + эта ошибка не даёт правильно удалить дочернюю MDI форму. без этого поля всё ОК

vtLinks - TVirtualTable
Ответить с цитированием