Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];




Вниз

Ошибка ~Control has no parent window~ помогите разобраться почему 


1g0r   (2002-02-21 19:06) [0]

Такой код:


unit ProbeView;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls;

type
TProbeView = class(TCustomListView)
private
FDefaultIcon: TIcon;
procedure SetDefIcon(Value: TIcon);
protected
{ Protected declarations }
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property DefaultIcon: TIcon read FDefaultIcon write SetDefIcon;
property Items;
property LargeImages;
end;

procedure Register;

implementation

procedure TProbeView.SetDefIcon(Value: TIcon);
begin
if Assigned(FDefaultIcon)
then FDefaultIcon.Assign(Value)
else ShowMessage("ooops...")
end;

constructor TProbeView.Create(AOwner: TComponent);
var Item: TListItem;
begin
ShowMessage("Create");
FDefaultIcon := TIcon.Create;

inherited Create(AOwner);

LargeImages := TImageList.Create(Self);

Item := Items.Add;
Item.Caption := "This"
end;

destructor TProbeView.Destroy;
begin
ShowMessage("Destroy");
FDefaultIcon.Free;
LargeImages.Free;
inherited Destroy
end;

procedure Register;
begin
RegisterComponents("probe", [TProbeView]);
end;

end.


при попытке положить компоненту на форму
последовательно вызывается конструктор Create
затем destructor Destroy (почему - не пойму)
и все это завершается ошибкой ~Control "" has no parent window~
Control-ом в данном случае, как я понял, служит Items

Сижу вот и решил что мне нужна помощь...

заранее спасибо, 1g0r



1g0r   (2002-02-21 20:07) [1]

Ok, вопрос слегка меняется:

а с какой это радости Destroy вызывается?

1g0r



Набережных С.   (2002-02-21 21:06) [2]


> а с какой это радости Destroy вызывается?

Потому, что в конструкторе генерится исключение. А исключение возникает потому, что для создания итемов компоненту требуется хэндл окна. Создай свой компонент динамически и, когда остановится по исключению, посмотри стек вызовов.
P.S. Не забудь включить использование отладочных файлов.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.057 c
3-19055           Bormanoid             2002-02-07 21:58  2002.03.07  
Смена позиции курсора или Query.RecNo глючит...


6-19293           welvist               2001-12-18 17:47  2002.03.07  
Сканер МАК адресов компьютеров локальной TCP IP сети


3-19080           dvk                   2002-02-06 23:35  2002.03.07  
D6, ADO, JET4


14-19306          Delirium              2002-01-17 18:42  2002.03.07  
Кто сколько часов в день работает?


3-19071           kserg@ukr.net         2002-02-08 13:35  2002.03.07  
Как в DBGridEh програмно задать SortMarkedColumns ?