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

Вниз

COM-технологии и драки   Найти похожие ветки 

 
Крот ©   (2003-04-19 08:40) [0]

Недавно был на собеседовании, там мне дали тест на общую подготовку. Был там такой вопросец:


type
TSomeClass = class(TObject, ISomeInterface)
public:
procedure DoSomthing();
end;

with TSomeClass.Create() do
begin
DoSomething();
Free();
end;

Чего тут, спрашивают, неправильно. Я ниче не вижу. Оказалось - Free нельзя вызывать. Я с ними поспорил, говорю, это ж не указатель на интерфейс, это просто класс, реализующий интерфейс, все тут можно, Create же вызываете и довольны. А они мне сказали, что собаку на COM - технологиях съели, а я мерзкий тип сомнительной наружности, дальше была грязная драка, и меня, э-э-э, мн-э-э, ну неважно...

Слушайте, мастера, а по-моему я прав. Скажите свое веское "УГУ"...


 
Sergey Masloff   (2003-04-19 08:58) [1]

Ну, тут много неправильного.
Во-первых неизвестно есть ли реализация QueryInterface и так далее в TSomeClass, иначе это просто не скомпилируется. Тогда уж
не TSomeClass = class(TObject, ISomeInterface)
а TSomeClass = class(TInterfacedObject, ISomeInterface)

Во-вторых
DoSomthing() и DoSomething() это как говорят в Одессе две большие разницы

В-третьих. Если именно так как ты написал то Free нужен так как создается класс и вызывается его метод. А если было написано например
with TSomeClass.Create() as ISomeInterface
то Дельфи поймет что тебе нужно и при выходе из области видимости для ссылки на интерфейс сгенерирует вызов Release и тогда Free действительно не нужно


 
Крот ©   (2003-04-19 09:19) [2]


> Во-вторых
> DoSomthing() и DoSomething() это как говорят в Одессе две
> большие разницы


Ну это очепятка


> with TSomeClass.Create() as ISomeInterface


Блин, а вот это я не вспомню, может было и так, значит, получается, зря я заехал в ухо начальнтку отдела...


 
Sergey Masloff   (2003-04-19 10:25) [3]

Немного оффтопик. Я не понимаю на фига на собеседовании устраивать экзамен ;-) Что это дает? Как любит говорить мой шеф - на Delphi мы за полгода любого научим программировать. Думать не научим, а программировать запросто. Так что у нас например на собеседовании просто стараются поговорить с человеком на общие темы. Шеф называет фейс-контроль ;-) Потом два месяца испыт. срок, дается какая-нибудь задача приближенная к боевой но не на полную катушку. При этом к человеку прикрепляют "куратора" который помогает войти в курс дела. Если человек не подходит это видно через месяц. Вобщем, система вроде бы себя оправдывает.


 
blackman ©   (2003-04-19 10:34) [4]

>Sergey Masloff
Верным путем идете товарищи!
Экзамен конечно ничего не даст. Может просто отпугнуть.


 
Крот ©   (2003-04-19 11:22) [5]


> Sergey Masloff (19.04.03 10:25)


Вашими бы устами... У меня все первым делом выясняют знаю ли я PHP (вариант JScript), и сразу скисают, когда я говорю, что изучал, но реальных задач не решал, ну не приходилось, что ж теперь.


 
han_malign ©   (2003-04-19 11:37) [6]

> зря я заехал в ухо начальнтку отдела...
- оригинальный метод трудоустройства, ты программистом устраиваешься, или охранником?
З.Ы. А в любой "цивилизованной" стране, ты бы срок схлопотал, за милую душу (ибо где тебе, безработному, взять $100000-$500000 на штраф). Кстати и нас тоже - у меня племянник чуть не загремел, за сломанный нос (из-за бабы..., а мальчик из Москвы оказался, грамотный, сам драку начал, а потом сразу побежал заяву кидать - $200 как ... сбрило (на день рожденя отложеные), хорошо начальник отделения хороший знакомый...)


 
Крот ©   (2003-04-19 13:34) [7]


> han_malign © (19.04.03 11:37)

Это я так тонко шутю.



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

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

Наверх




Память: 0.48 MB
Время: 0.014 c
14-23345
Шоломицкий
2003-04-20 17:58
2003.05.08
Как скопировать файлы с дискеты


14-23386
down
2003-04-21 20:54
2003.05.08
посмотрите, какое красивое извращение


8-23239
Andrei
2003-01-31 12:30
2003.05.08
Мултимедия


11-23052
Alexei Dragoner
2002-07-31 13:33
2003.05.08
Еще пару глюков...и вопросов


3-22975
Эдуард
2003-04-17 12:58
2003.05.08
invalid transaction handle (expecting explicit transaction start)