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

Вниз

Странность в Delphi 2005   Найти похожие ветки 

 
Чапаев ©   (2005-10-25 10:54) [0]

Есть такой код:

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TMy=class(TWinControl)
 private
   AEdit:TEdit;
   ALabel:TLabel;
 public
   constructor Create(AOwner:TComponent);override;
   destructor Destroy;override;
 end;
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
   M:TMy;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 M:=TMy.Create(Self);
end;

{ TMy }

constructor TMy.Create(AOwner:TComponent);
begin
 inherited;
 AEdit:=TEdit.Create(nil);
 ALabel:=TLabel.Create(nil);
end;

destructor TMy.Destroy;
begin
 AEdit.Free;
 ALabel.Free;
 inherited;
end;

end.



В Делфи7 всё работает, в Делфи2005 выскакивает AV при выполнении AEdit.Free. Кто-нить может объяснить, в чём проблема?


 
Igorek ©   (2005-10-25 11:02) [1]

Так 2005 Делфи - это ж под дотнет вроде. Там же автоматическая сборка мусора. Соотв. нету явных вызовов деструкторов - можно просто написать AEdit := nil вместо AEdit.Free.


 
Чапаев ©   (2005-10-25 12:07) [2]


> Так 2005 Делфи - это ж под дотнет вроде

Не знаешь -- лучше не подсказывай. 2005 содержит средства разработки и под Вин32, и под .НЕТ. В данном случае программа пишется под Вин32.


 
Чапаев ©   (2005-10-25 12:10) [3]

Да и если всё же принять версию про автоматическую сборку мусора, почему тогда ALabel.Free срабатывает нормально?


 
Igorek ©   (2005-10-25 12:16) [4]


> Не знаешь -- лучше не подсказывай.

Прости, я хотел помочь - написал что знал.. Но теперь думаю - без меня ты лучше разберешься.


 
Игорь Шевченко ©   (2005-10-25 15:35) [5]


> в Делфи2005 выскакивает AV при выполнении AEdit.Free


Не выскакивает.



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

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

Наверх




Память: 0.48 MB
Время: 0.042 c
1-1142766204
ho5ok
2006-03-19 14:03
2006.04.23
Socket showmessage( no connection );


2-1143271095
Delphi5.01
2006-03-25 10:18
2006.04.23
Обновить значение реестра программно


8-1132228825
CondAL
2005-11-17 15:00
2006.04.23
проиграть события в midi файлах


1-1142596234
Dust
2006-03-17 14:50
2006.04.23
Скачал Indy 10, не могу установить


2-1144261014
MVP
2006-04-05 22:16
2006.04.23
Оптимизация хранения данных для транслятора, который рисует фигур