А как Вы без as к Edit обратитесь?
Код делает не только проверку, но и само обращение к объекту на нужной форме.
			
		Модератор: Модераторы
...
  if fCreator is TFrm2 then
    TFrm2(fCreator).Edit1.Text:='Test'
  else
......
  if fCreator is TFrm2 then
    TFrm2(fCreator).Edit1.Text:='Test'
  else
...if Assigned(fCreator) And (fCreator is TFrm2) then
unit UFrmComment;  
..........
 public
    { public declarations }
    ParentForm: TCustomForm;    
.................
procedure TFrmAnkklient.SpeedButtonCommentClick(Sender: TObject);
begin
 Application.CreateForm(TFrmComment,FrmComment);
 FrmComment.ParentForm:=self;
 FrmComment.UnSprava:=UnSprava;
 FrmComment.SetFormStatus;
end;   if Assigned(ParentForm) And (ParentForm is TFrmAnkklient) then
  ShowMessage('test');
evd писал(а):GAMER
Используйте код от Brainenjii плюс обнуляйте указатель fCreator при закрытии формы TFrm2.
Либо на OnDestroy fCreator:=nil;
Либо если вручную уничтожаете, то уничтожайте через FreeAndNil(fCreator)
...
  if fCreator is TFrm2 then
   TFrm2(fCreator).Edit1.Text:='Test'
  else
... 
IMyInterface = interface
...
end;
TMyClass = class(TInterfaceObject, IMyInterface)
...
end;
var I: IMyInterface;
begin
 I:=TMyClass.Create as IMyInterface;
...
 TMyClass(I).чего-то там...
end;
И это ошибка. В Delphi вполне законное обращение.
GAMER писал(а):Если форма TFrm2 закрыта, то получаю ошибку в строке if fCreator is TFrm2 then.
То есть указатель ненулевой, но формы там уже нет.
Как узнать, что формы уже нет?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1