Главная страница
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.47 MB
Время: 0.032 c
15-1143836583
Librarian
2006-04-01 00:23
2006.04.23
Инв. номер


2-1144268509
Nick_serov
2006-04-06 00:21
2006.04.23
Выполняется только половина.....


4-1139077583
Vlad_Ladynin
2006-02-04 21:26
2006.04.23
Эмуляция нажатия горячих клавиш.


15-1144123122
Anatolik_
2006-04-04 07:58
2006.04.23
Доброго времени суток, Уважаемые! есть ключ реестра LicenseInfo


15-1144171350
cleric
2006-04-04 21:22
2006.04.23
Эвольвента