Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Освобождение ресурса в finally


Страницы:   1 2 ... 10 11 12 13 14 15 16 ... 32 33

Arinyshka ©   (2008-04-23 12:17:00) 

Не подскажете еще один момент:
Есть процедура, выглядит примерно так

procedure TSetPayFrm.BtnAddImageClick(Sender: TObject);
var  TempBitmap:TBitmap;
begin
if not(opendialog1.Execute) then  exit;
try
 TempBitmap  := TBitmap.Create;
 TempBitmap.LoadFromFile(OpenDialog1.FileName);
finally
TempBitmap.Free;
end;
end;

На освобождение  TempBitmap.Free; выдает варнинг
[Warning] uSetPaymentMain.pas(313): Variable 'TempBitmap' might not have been initialized
Не смертельно, но непонятно... почему варнинг? При изменениии условия и включении всей конструкции в один блок begin..end ситуация не менялась.


Anatoly Podgoretsky   (2008-04-30 12:17:00) [241]

> ANB  (30.04.2008 10:19:32)  [392]

> на чем написана винда

Думаю там страшная солянка, усугубленная долгой историей и гигантизмом.


Anatoly Podgoretsky   (2008-04-30 12:16:00) [242]

> Palladin  (30.04.2008 09:31:31)  [391]

Какой ты классик, ты Монстр


Восхищенный   (2008-04-30 12:04:00) [243]

> Игорь Шевченко ©   (30.04.08 11:53) [404]

> Каким боком ООП относится к памяти и скорости?

Таким, что реализация парадигмы ООП связана с накладными расходами (VMT и пр.) - а они приводят к дополнительным затратам памяти и снижению скорости.


Palladin   (2008-04-30 12:03:00) [244]


> ANB   (30.04.08 11:55) [405]

Извини, но я больше ничего нового для тебя сказать не могу... Останемся при своих мнениях...


> и начало использования рекомендаций Саши Просторова, против
> которых ты и выступал.

Я не выступал против вообще всех его рекомендаций, я выступал против конкретного массового обниления.


Palladin   (2008-04-30 12:00:00) [245]


> Игорь Шевченко ©   (30.04.08 11:53) [404]



> Ну зачем ерунду-то говорить ? :) причем тут точка зрения
> программиста ?
> Как ты понимаешь, и DLL гораздо больше, и набор трех DLL
> не Windows вовсе.

ну тут ты прав конечно, это я слишком уж утрировал...


> Что, ООП - оно только для прикладных задач ? :)
> Я так считал что это парадигма программирования вообще..

И представляешь! :) Я тоже думаю что это парадигма! Но ты демагогией занимаешься. Я утверждаю "серьезному прикладному приложению без ООА/ООП не выжить", а ты мне вопросом "Что, ООП - оно только для прикладных задач ?"... ты либо не понял либо меня хочешь запутать...


> А эт ты зря не веришь. Никакого там ООП в ядре нет - чистый
> C

Ага, а дальше-то, дочитать фразу после Станиславского таки не судьба? :)


Игорь Шевченко   (2008-04-30 12:00:00) [246]

ANB   (30.04.08 11:56) [406]


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


Эт ты неправду говоришь


ANB   (2008-04-30 11:56:00) [247]


> Никакого там ООП в ядре нет - чистый C

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


ANB   (2008-04-30 11:55:00) [248]


> Форматы меняют, да еще так быстро, что надо было сделать
> вчера. Просто ты с этим не сталкивался.

Сталкивался. При этом нужно чтобы некоторое время поддерживались оба. "Нерезко" != "нечасто"
При этом частенько изменение формата приводить к полному изменению алгоритма обработки.


> Ага, только гроханье каскада - это побочный приятный эффект.
>  Если ты внимательно прочитал [86] то наверное заметил бы,
>  мою фразу о том, что если у нас столько много объектов,
>  то следует задуматся, а нельзя ли сделать попроще. И вот
> если ты вдруг все еще не понял, то [192] это ответ на твой
> пример, и ответ на вопрос "а нельзя ли сделать попроще?".
>  Всегда есть какой то процент, когда действительно нельзя,
>  просто пример ты привел, в котором очень даже можно.

То что ты сделал, это не "попроще".
Попроще (и быстрее) делается так :
выкидывается нафиг весь код, в процедуре создается один объект, с помощью которого файл закидывается клобом в хранимку и уже на сервере парсится и обрабатывается.
Затем из аут параметров сохраняем логи.
А прикрутить ООП - это в данном случае еще больше все усложнить.
С XML же в случае больших объемов вообще придется ВСЕ переделывать и это нетривиально. Во всяком случае, приведенный пример разделения никак этому не поможет.

Ага, только гроханье каскада - это побочный приятный эффект.- и начало использования рекомендаций Саши Просторова, против которых ты и выступал.


Игорь Шевченко   (2008-04-30 11:53:00) [249]

Восхищенный   (30.04.08 11:38) [403]

Я могу объяснить, почему я их такими считаю - потому чтоООП изначально декларировалось как панацея от сложности программ. Так вот, программы, которые я привел, они достаточно сложные, как по объему кода, так и по функциональности.


> во-вторых, подобного рода системы вряд ли вообще на ООП
> пишутся (в силу повышенных требований по памяти и скорости).
>


Каким боком ООП относится к памяти и скорости ?

Проводник виндовый написан без всякого ООП - какие тут нафиг повышенные требования ?

Palladin ©   (30.04.08 11:32) [401]


> Позволь мне конкретизировать, то что я имею в виду, под
> серьезным приложением. Я имею ввиду пользовательское приложение
> прикладного уровня. С тенденцией развития.


Что, ООП - оно только для прикладных задач ? :)
Я так считал что это парадигма программирования вообще...


> По поводу Windows. С точки зрения программиста из чего состоит
> ядро Windows? из набора трех dll


Ну зачем ерунду-то говорить ? :) причем тут точка зрения программиста ?
Как ты понимаешь, и DLL гораздо больше, и набор трех DLL не Windows вовсе.


> Oracle - не верю (С) Станиславский


А эт ты зря не веришь. Никакого там ООП в ядре нет - чистый C


Восхищенный   (2008-04-30 11:38:00) [250]

> Игорь Шевченко ©   (30.04.08 11:27) [400]

Это вопрос не ко мне (в силу [395]).

А вообще, системы, которые ты считаешь серьезными ("Windows, Unix, Linux, Oracle"), во-первых, зарождались еще до бурного развития ООП (и писались, соответственно, на ПП); во-вторых, подобного рода системы вряд ли вообще на ООП пишутся (в силу повышенных требований по памяти и скорости).

ООП - это, видимо, в большей степени инструмент для прикладной разработки. Ну, и для разработки инструментов для прикладной разработки (всяческие IDE и т.п.).


Palladin   (2008-04-30 11:35:00) [251]


> Игорь Шевченко ©   (30.04.08 11:27) [400]

Все еще хочешь? :) Даже с учетом выделения конкретной категории приложений в [401] ? :)


Palladin   (2008-04-30 11:32:00) [252]


> Игорь Шевченко ©   (30.04.08 10:20) [393]

Извиняюсь. Позволь мне конкретизировать, то что я имею в виду, под серьезным приложением. Я имею ввиду пользовательское приложение прикладного уровня. С тенденцией развития.

По поводу Windows. С точки зрения программиста из чего состоит ядро Windows? из набора трех dll, конечно там и не пахнет ООП, а зачем оно там? так же Windows состоит из мяса написанного самим же MS, вот тут то ООП и используется (али я не прав?). Windows это не какое то конкретное приложение - это целый набор из ядра и приложений-саттелитов.

Linux - ну тут мне сказать нечего...

Oracle - не верю (С) Станиславский, та же ситуация с Windows, в ядре, конечно и ни капли ООП, но, Игорь, там в инструменталке, Orcale Forms, основной используемый инструмент Jawa :) о чем ты...

В общем категорию приложений где ООП более чем уместно я определил.

Дальше к ANB:

> Изначально дискуссия шла : каскадный трай вс один трай с
> обнилением.
> Приведя пример разделения кода по методам ты, не собираясь
> этого делать, фактически грохнул каскад. И перешел в мой
> лагерь :) Но по прежнему пытаешься доказать, что каскад
> лучше.

Ага, только гроханье каскада - это побочный приятный эффект. Если ты внимательно прочитал [86] то наверное заметил бы, мою фразу о том, что если у нас столько много объектов, то следует задуматся, а нельзя ли сделать попроще. И вот если ты вдруг все еще не понял, то [192] это ответ на твой пример, и ответ на вопрос "а нельзя ли сделать попроще?". Всегда есть какой то процент, когда действительно нельзя, просто пример ты привел, в котором очень даже можно.


> Да она еще сложнее стала для понимания и сопровождения.

хм... ну что я могу сказать, это твое "ИМХО" вот только ты забыл это добавить. переубеждать тебя не буду. Форматы меняют, да еще так быстро, что надо было сделать вчера. Просто ты с этим не сталкивался.


> Классический пример, когда ООП только затрудняет понимание
> и сопровождение.

Опять "классический"... а "ИМХО" опять ты случайно не забыл добавить?


> ANB   (30.04.08 11:01) [396]
> ООП по делу и без дела

где? где у меня это утверждение? где я всех склоняю к ООП? ты прочитал, что я Игорю ответил? неа... ну и ладно...


Игорь Шевченко   (2008-04-30 11:27:00) [253]

Восхищенный   (30.04.08 11:21) [399]

Мы немножко в сторону отошли. Мне все-таки хотелось бы увидеть пример серьезной системы написанной с использованием ООП.

Ну кроме Delphi, разумеется :)


Восхищенный   (2008-04-30 11:21:00) [254]

> Игорь Шевченко ©   (30.04.08 11:07) [398]

ЯдроWindows - это не окна. Но и ядро - это еще не вся Windows. А всяWindows - это и окна тоже. Нужен же какой-то UI.

Даже консольные приложения - и те в окне работают. Даже у сервисов предусмотрено взаимодействие с рабочим столом.


Игорь Шевченко   (2008-04-30 11:07:00) [255]

Восхищенный   (30.04.08 11:03) [397]

Windows это не окна. Я скажу более - и во внутренностях Windows есть "зачатки ООП-подхода" - есть диспетчер объектов, есть базовые свойства типа объекта и т.д.
Но никакой реализацией с использованием ООП в Windows (а это более чем большая система) и не пахнет - ни наследования, ни полиморфизма, одна только инкапсуляция и та сделана искусственно.


Восхищенный   (2008-04-30 11:03:00) [256]

Кстати, некие зачатки ООП-подхода прослеживаются и в Windows: есть классы окон, экземпляры этих классов, свойства окон... Реализация у них, конечно, не объектная, но идеологически довольно похоже.


ANB   (2008-04-30 11:01:00) [257]


> Странный спор: ООП vs ПП (процедурное программирование).

А он и не такой. Он такой :

ООП по делу и без дела вс ПП, когда оно удобнее. :)


Восхищенный   (2008-04-30 10:56:00) [258]

Странный спор: ООП vs ПП (процедурное программирование).

Очевидно же, что у каждого подхода есть свои сильные и слабые стороны. Значит, вопрос надо ставить так: ООП + ПП. А не "vs".


ANB   (2008-04-30 10:20:00) [259]


> внедренных объектов

внедренных проектов


Игорь Шевченко   (2008-04-30 10:20:00) [260]

Palladin ©   (30.04.08 03:50) [390]


>  в ответ на мои слова, что ни один серьезный продукт без
> ооа не реализовать.


А не трудно привести примеры серьезных продуктов, реализованных с помощью ООП ?

Про серьезные продукты, реализованные без ООП я могу говорить довольно долго - это Windows, Unix, Linux, Oracle. Продукты более чем серьезные, строк кода там за миллионы.


Страницы:   1 2 ... 10 11 12 13 14 15 16 ... 32 33

Наверх

Титульная страница Поиск, карта сайта Написать письмо