Вниз
Скачать: CL | DM;

Ошибка ~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. Не забудь включить использование отладочных файлов.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
14-19314
bullet_
2002-01-22 01:00
2002.03.07
Работа с Excel


3-19067
Ольга
2002-02-08 12:00
2002.03.07
Пути к таблице.


1-19220
tmp_user
2002-02-18 08:28
2002.03.07
Аналог MaskEdit


3-19075
DmitryPV
2002-02-08 15:54
2002.03.07
Как удалить запись на которой установлен курсор в DBGrid?


4-19385
AntBofh
2002-01-10 14:31
2002.03.07
Тупой вопрос !!! Про реестр!




   Наверх