Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.10.04;
Скачать: [xml.tar.bz2];

Вниз

Вызов 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.009 c
9-1182594213
Max_
2007-06-23 14:23
2009.10.04
DirectX


1-1218781281
dmitry_12_08_74
2008-08-15 10:21
2009.10.04
Как сделать, чтобы иконка в трее делалась видимой


2-1249040793
Zheksonz
2009-07-31 15:46
2009.10.04
Выгружаю процесс, аиконкапроболжает висеть на TaskBar


15-1249365904
ford
2009-08-04 10:05
2009.10.04
видеоплеер


3-1227778244
vegarulez
2008-11-27 12:30
2009.10.04
Вопрос про ZeosDBO. (Zquery.Fields[i].AsDatetime)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский