Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

Ошибка при вставке собственного компонента из буфера обмена   Найти похожие ветки 

 
_Igorek   (2003-05-14 18:05) [0]

Допустим есть такой контрол:

type
T_Nested = class(TComponent)
protected
procedure ReadState(AReader: TReader); override;
end;

T_MyControl = class(TWinControl)
private
FNested: T_Nested;
protected
procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;

{ T_MyControl }

constructor T_MyControl.Create(AOwner: TComponent);
begin
inherited;
if not (csLoading in ComponentState) then
FNested := T_Nested.Create(Self);
end;

destructor T_MyControl.Destroy;
begin
FreeAndNil(FNested);
inherited;
end;

procedure T_MyControl.GetChildren(Proc: TGetChildProc; Root: TComponent);
begin
inherited;
Proc(FNested);
end;

{ T_Nested }

procedure T_Nested.ReadState(AReader: TReader);
begin
inherited;
if AReader.Parent is T_MyControl then
begin
Self.Owner.RemoveComponent(Self);
T_MyControl(AReader.Parent).InsertComponent(Self);
T_MyControl(AReader.Parent).FNested := Self;
end;
end;


В потоке выглядит безобидно:
object _MyControl1: T_MyControl
Left = 88
Top = 40
Width = 100
Height = 41
object T_Nested
end
end

Ставим его на форму, копируем в буфер обмена, потом вставляем из буфера – получаем (трассировано Дельфи из под Дельфи)
Access violation at address 00919EBC in module "DESIGNIDE60.BPL". Read of address FFFFFFFF.

Ошибка связана с вложенным компонентом.
Вопросы:
1) что собственно неправильно?
2) как оттрассировать DESIGNIDE60.BPL, или хотя бы узнать какой код возбудил исключение (если эта часть представлена исходниками)?


 
_Igorek   (2003-05-14 18:21) [1]

Ошибка странная, бо форма с этим контролом нормально пишется и читается из потока.
Может кто-то знает, где есть исходники операции Paste?



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

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-83694
Дмитрий К.К.
2003-05-06 06:26
2003.05.26
Именинники 6 мая


1-83482
MMF
2003-05-13 14:01
2003.05.26
проблемы с Tregistry.SaveKey


1-83488
From_X
2003-05-15 16:22
2003.05.26
DLL Как плугин? Есть проблемы!


1-83532
BJValentine
2003-05-13 11:05
2003.05.26
Сетевые пути


7-83754
KPV-10k
2003-03-25 21:14
2003.05.26
Как выдвинуть лоток конкретного CD-ROM a без помощи TMediaPlayer