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

Вниз

Вызов Free (Destroy) внутри метода объекта   Найти похожие ветки 

 
oxffff ©   (2009-08-04 08:36) [40]


> brother ©   (04.08.09 08:35) [39]


ГЫ ГЫ.


 
Palladin ©   (2009-08-04 08:59) [41]


> [30] pasha_golub ©   (03.08.09 20:07)

Речь идет об использовании инстанцированных экземпляров поддерживающих интерфейсы. То есть либо ты уж с ними как с объектами работай, либо как с инетрфейсам, а иначе как написал jack128_ - катаклизм наступить может.


 
Palladin ©   (2009-08-04 09:20) [42]

вот кстати простейший примерчик катаклизма

Procedure lw(Const s:String);
Begin
Form1.Memo1.Lines.Add(s);
End;

Type
IMyIfc=Interface
 Procedure p1;
End;

TMyIfc=Class(TInterfacedObject,IMyIfc)
 Public
  Constructor Create;
  Destructor Destroy; Override;
  Procedure p1;
End;

Constructor TMyIfc.Create;
Begin
lw("TMyIfc.Create");
End;

Destructor TMyIfc.Destroy;
Begin
lw("TMyIfc.Destroy");
End;

Procedure TMyIfc.p1;
Begin
lw("TMyIfc.p1");
End;

Procedure pp(i:IMyIfc);
Begin
i.p1;
End;

procedure TForm1.Button1Click(Sender: TObject);
Var
o:TMyIfc;
begin
o:=TMyIfc.Create;
lw("call pp");
pp(o);
lw("direct");
o.p1;
o.Free;
end;


 
Юрий Зотов ©   (2009-08-04 09:35) [43]

> Palladin ©   (04.08.09 08:59) [41]

А самое чудное, что вину за этот катаклизм почему-то вешают на VCL, хотя как раз в данном случае кривизна рук более чем очевидна.


 
Ega23 ©   (2009-08-04 09:45) [44]


> > jack128_   (03.08.09 19:54) [27]
> > ну сами разрабы дельфи написали такой ужос, как TXMLDocument.
>
> > ..
>
> Жень, поподробней могешь для аутсайдеров?


Месяца 3 назад у меня было. Убил пол-дня. Чуть не выломал себе мозг. Ну неправильно себя ведёт - и точка.
Как раз Женя и нашёл баг свежим взглядом - я вместо
var
 doc : IXMLDocument
объявил
var
 doc : TXMLDocument


 
brother ©   (2009-08-04 09:47) [45]

> var
> doc : IXMLDocument
> объявил
> var
> doc : TXMLDocument

жестко(


 
Ega23 ©   (2009-08-04 09:50) [46]


> жестко(


Фигли жёстко? Читаю хелп, там сказано, что в случае передачи в конструктор валидного Owner-а эта хрень ведёт себя как обычный VCL-компонент (а-ля TOpenDialog или TDataSource).
В случае передачи туда nil  - как TInterfacedObject с подсчётом ссылок.


 
brother ©   (2009-08-04 10:38) [47]

> Фигли жёстко?

я про опечатку, трудно обнаружить... человеческий фактор епт...


 
Тимохов_   (2009-08-04 10:41) [48]


> oxffff ©   (04.08.09 08:30) [38]
> Теперь жду от тебя не меньшей аргументации.


Сергей, то была шутка: пародия на твою манеру лаконичного общения ))
Ну я думаю ты понял. А вот то, что ты дал наконец аргументированный ответ о том, как ты сделал бы weakref - это очень хорошо. :)


 
pasha_golub ©   (2009-08-04 10:53) [49]


> Ega23 ©   (04.08.09 09:45) [44]


> Месяца 3 назад у меня было. Убил пол-дня.

У меня тоже. Но как раз я накосячил. Однако ж замыленному глазу найти что-то очень трудно.


 
Anatoly Podgoretsky ©   (2009-08-04 11:27) [50]

> pasha_golub  (04.08.2009 10:53:49)  [49]

I и T очень похожb в Courier New


 
brother ©   (2009-08-04 11:28) [51]

> I и T очень похожb в Courier New

подтверждаю


 
brother ©   (2009-08-04 11:37) [52]

те. подтверждаю )


 
StriderMan   (2009-08-04 12:10) [53]

а че-то про TThread.FreeOnTerminate забыли? Тоже дурным тоном считается в широких кругах.


 
pasha_golub ©   (2009-08-04 18:31) [54]


> StriderMan   (04.08.09 12:10) [53]
>
> а че-то про TThread.FreeOnTerminate забыли? Тоже дурным
> тоном считается в широких кругах.

Если человек себе сама злобная деревяшка, то он где угодно граблю найдет. Я, например, на копи-пасте нарывался несколько раз. :)) Ну, что поделать, если у этого ДевЭкса такие длинные проперти и методы, млин.



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

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

Наверх




Память: 0.56 MB
Время: 0.125 c
15-1248955155
Galera
2009-07-30 15:59
2009.10.04
Tool для Delphi


2-1248977190
xyz
2009-07-30 22:06
2009.10.04
insert или update


9-1182518381
@!!ex_
2007-06-22 17:19
2009.10.04
Проецирование 3Д в 2Д.


15-1249288550
blackman
2009-08-03 12:35
2009.10.04
Борис Стругацкий. Правила жизни


15-1249145240
@!!ex
2009-08-01 20:47
2009.10.04
Как прошивать Аладиновские ключи??