Форум: "Основная";
Текущий архив: 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. Не забудь включить использование отладочных файлов.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.03.07;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c