Что-то не получается с owner

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Что-то не получается с owner

Сообщение Vesyolyi » 13.08.2009 21:00:15

Вообщем что имеем, нужно создать дочерную форму в unit создаваемой формы написал так:
Код: Выделить всё
unit usereditunit;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,
  StdCtrls ;

type

  { TUserEditForm }

  TUserEditForm = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  UserEditForm: TUserEditForm = nil;

procedure ShowUserEditForm(Owner: TComponent) ;
implementation

procedure ShowUserEditForm(Owner: TComponent) ;
begin
  if not Assigned(UserEditForm) then
    UserEditForm:=TUserEditForm.Create(Owner);
  UserEditForm.Show;
  UserEditForm.SetFocus;
end;                                                                           

Видно что процедура
Код: Выделить всё
ShowUserEditForm(Owner: TComponent) ;
создает форму, вот только когда вызываю её из другой:
Код: Выделить всё
procedure TUsersForm.userNewExecute(Sender: TObject);
begin
  ShowUserEditForm(self);
end; 

почему-то владелец не передается, т.е. если вывести название владельца, то сообщение пустое
Код: Выделить всё
showmessage(UserEditForm.Owner.Name ) ; 


а вот если из главной формы создавать так:
Код: Выделить всё
procedure TUsersForm.userNewExecute(Sender: TObject);
begin
  UserEditForm:=TUserEditForm.Create(self) ;
  UserEditForm.Show;
  UserEditForm.SetFocus;
end;       

то с владельцем все нормально.
Код: Выделить всё
showmessage(UserEditForm.Owner.Name ) ;
возвращает название владельца - UsersForm

Вопрос, что я делаю не так????
Последний раз редактировалось Vesyolyi 14.08.2009 19:56:13, всего редактировалось 2 раз(а).
Аватара пользователя
Vesyolyi
новенький
 
Сообщения: 26
Зарегистрирован: 10.09.2008 12:09:50
Откуда: г. Слободской

Re: Что-то не получается с owner

Сообщение Attid » 14.08.2009 11:29:53

Vesyolyi писал(а):Вопрос, что я делаю не так????

не офрмляешь код в тег [code ]
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Что-то не получается с owner

Сообщение Vesyolyi » 16.08.2009 14:22:58

Сам себе и отвечаю, забыл её убрать из autocreate :mrgreen:
Аватара пользователя
Vesyolyi
новенький
 
Сообщения: 26
Зарегистрирован: 10.09.2008 12:09:50
Откуда: г. Слободской


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21

Рейтинг@Mail.ru