Главная страница
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.082 c
2-1144236974
dima_kds
2006-04-05 15:36
2006.04.23
Создание приложения Excel


3-1141056218
Sollo
2006-02-27 19:03
2006.04.23
dbexpress нужна временная таблица ?


4-1138723860
Beduir
2006-01-31 19:11
2006.04.23
Как отловить событие изменения элемента в ListView


15-1143781960
Ega23
2006-03-31 09:12
2006.04.23
С Днём рождения! 31 марта


4-1138866916
tse
2006-02-02 10:55
2006.04.23
Запуск scktsrvr.exe в режиме сервиса от имени пользователя