Вниз
Скачать: 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.007 c
6-19288
greenrul
2001-12-21 17:36
2002.03.07
Помогите с отсылкой POST из программы в скрипт


3-19049
yaJohn
2002-02-07 17:05
2002.03.07
DBGrid


6-19286
NetBreaker666
2001-12-20 14:38
2002.03.07
Как получать в CGI данные, переданные методом Post???


14-19331
tovSuhov
2002-01-22 08:43
2002.03.07
Предложение к Хозяевам сайта...


3-19041
Laimer
2002-02-01 12:01
2002.03.07
Access




   Наверх