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

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

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


Страницы:   1 2 ... 7 8 9 10 11 12 13 ... 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 ситуация не менялась.


ANB   (2008-05-04 17:06:00) [181]


> Видишь ли, Excel - он еще более у всех под рукой и не такой
> толстый, как оракл.

Дистрибутив офиса скока весит ?


ANB   (2008-05-04 17:05:00) [182]


> А если у тебя файл изменится, ты его по новой будешь в with
> вставлять ?

Не. Это я для наглядности и простоты.
Так файл либо в табличку либо в параметр хранимки.


Восхищенный   (2008-05-04 17:04:00) [183]

> ANB   (04.05.08 16:48) [462]

> А зачем переходить на другой сервер ?

А мало ли... например, появился новый заказчик со сходной задачей.. а у него Oracle не используется... да и вообще никакая СУБД не используется... а хочется повторного использования кода, а получается облом-с. Не лучше ли один раз написать, а потом юзать где угодно и сколько угодно?

Да и вообще, какое отношение имеет парсинг XML к серверам БД? Вот нужно XML-файл распарсить - так что ж, из-за этого всем клиентам Oracle ставить, что ли? Как то неправильно это, наверное... монстроидально как-то...


ANB   (2008-05-04 17:03:00) [184]


> дело в том что у меня вообще никакого сервера не используется.
> ...

Не, я не про это. Файл тысяч в 60 строк аналогичной структуры твой класс нормально съест ?

Просто XMLDom клинит начиная примерно с такого объема.

Мне пришлось писать парсер на клиенте.


> Игорь Шевченко ©   (04.05.08 16:56) [467]

Вот млин. Самая высокая скорость кодирования. Но опять таки это не ООП :)


Игорь Шевченко   (2008-05-04 17:00:00) [185]

ANB   (04.05.08 16:51) [463]


> 1. Эт еще надо найти, скачать и поставить, а оракл уже под
> рукой
> 2. Возможности SQL при этом отвалятся. Группировать, что
> - руками ?


Видишь ли, Excel - он еще более у всех под рукой и не такой толстый, как оракл.

А если у тебя файл изменится, ты его по новой будешь в with вставлять ?


Игорь Шевченко   (2008-05-04 16:56:00) [186]

В Excel мне потребовалась ровно одна минута чтобы получить результат:

Названия столбцов      
101 102 103 104 105 106 107
sum 219,75 49,35 30,9 16,45 15,45 15,45 15,45
Общий итог
362,8


Palladin   (2008-05-04 16:54:00) [187]


> Кистате, у Palladin этот вопрос решен ?

дело в том что у меня вообще никакого сервера не используется....


> Проблема возникнет тока если подать на вход более 60 тысяч
> строк.

это смешная цифра...


Игорь Шевченко   (2008-05-04 16:53:00) [188]

Palladin ©   (04.05.08 16:47) [461]


> какие они глобальные, они очень даже локальные... :)


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

Вот может твой код и делает то, что надо, но он жутко неясный. Куча всяких деталей вида приведений типов, мелких локальных переменных сильно его загрязняет. Ну и немецкий язык тоже (это когда у объекта берется внутреннее свойство-объект и вызывается метод этого свойства) не проясняет логики

Foo.Elements.ByName(....)


Игорь Шевченко   (2008-05-04 16:53:00) [189]


> Группировать, что - руками ?


в Excel-е


ANB   (2008-05-04 16:51:00) [190]


> Оба кода плохие - вручную посчитать гораздо быстрее.

Дамс. Об этом варианте я не подумал.


> или скачать из сети нечто, через XPath решающее нужную задачу
> без всякого оракла

1. Эт еще надо найти, скачать и поставить, а оракл уже под рукой
2. Возможности SQL при этом отвалятся. Группировать, что - руками ?


ANB   (2008-05-04 16:48:00) [191]


> А можно маленький вопрос - что будет, если понадобится перейти
> на другой сервер?
> :о)

А зачем переходить на другой сервер ?

Проблема возникнет тока если подать на вход более 60 тысяч строк.
Тады придется разбирать XML руками.
Кистате, у Palladin этот вопрос решен ?


> Я разрабатываю фирменный сервер приложений

Трехслойка - самое хреновое новшество от МС.


Palladin   (2008-05-04 16:47:00) [192]


> Где блин инкапсуляция, полиморфизм и прочие там ... наследования
> ? :)

как это где? это все прекрасно используется в TWRIntegerMap и TWRXMLElements... )
но программисту-клиенту этого видеть и знать об этом и не нужно... )


> Что за глобальные переменные n,i ? :)

какие они глобальные, они очень даже локальные... :)


> Мартин Фаулер такой. Программист. Автор книг по UML, Рефакторингу
> и архитектуре корпоративных приложений.

не читал... а может и читал, только автора не запомнил...


Игорь Шевченко   (2008-05-04 16:40:00) [193]

Palladin ©   (04.05.08 16:28) [455]


> А кто это


Мартин Фаулер такой. Программист. Автор книг по UML, Рефакторингу и архитектуре корпоративных приложений.


>  и за что?


За код, вестимо :)
Где блин инкапсуляция, полиморфизм и прочие там ... наследования ? :)
Что за глобальные переменные n,i ? :)

ANB   (04.05.08 16:30) [456]


> ту ИШ : будь арбитром, сравни код :)


Оба кода плохие - вручную посчитать гораздо быстрее.

или скачать из сети нечто, через XPath решающее нужную задачу без всякого оракла


Anatoly Podgoretsky   (2008-05-04 16:39:00) [194]

> ANB  (04.05.2008 16:05:30)  [450]

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


Palladin   (2008-05-04 16:38:00) [195]


> ANB   (04.05.08 16:28) [454]
> Кстати, твой результат с моим сошелся ?

я проверил прежде чем запостить...


> А вот свои классы буду как и раньше, писать, тока если очень
> надо будет и явно будут напрашиваться.

Ну вот видишь, вот и разница между нами только в том, что они у меня явно напрашиваются чаще чем у тебя. А все потому, что работаем мы в разных темах. Я разрабатываю фирменный сервер приложений и API для него. Причем один разрабатываю. Другие только пользуются API и пишут уже клиентские приложения. Да и серьезные приложения все равно тоже я пишу не могу другим доверить, а то нагородят... кроме полного переписывания в результате ничего не останется сделать...

А ты не знаю...


Восхищенный   (2008-05-04 16:31:00) [196]

> ANB   (04.05.08 16:28) [454]

А можно маленький вопрос - что будет, если понадобится перейти на другой сервер?
:о)


ANB   (2008-05-04 16:30:00) [197]


> Гм. Ну тогда я не поклонник ПП, наоборот - крутой ООП программер,
>  т.к. готовыми классами активно пользовался и пользоваться
> буду. Т.к. удобно и быстро.
> А вот свои классы буду как и раньше, писать, тока если очень
> надо будет и явно будут напрашиваться.

Смайлик забыл :)

ту ИШ : будь арбитром, сравни код :)


ANB   (2008-05-04 16:28:00) [198]


> А ты как поклонник ПП и противник ООП не должен пользоватся
> существующими классами, а разбить процедуру на подпроцедуры.
>  Вот это и будет ПП.

Гм. Ну тогда я не поклонник ПП, наоборот - крутой ООП программер, т.к. готовыми классами активно пользовался и пользоваться буду. Т.к. удобно и быстро.
А вот свои классы буду как и раньше, писать, тока если очень надо будет и явно будут напрашиваться.

Кстати, твой результат с моим сошелся ?

И последнее - несмотря на использование готового НЕШТАТНОГО кода, я написал минимум втрое быстрее и раз в 5 короче. Причем с использованием штатных процедур сервера.


Игорь Шевченко   (2008-05-04 16:28:00) [199]

Palladin ©   (04.05.08 15:25) [444]

Фаулер бы тебя с дерьмом смешал :)


Palladin   (2008-05-04 16:28:00) [200]


> Игорь Шевченко ©   (04.05.08 16:28) [453]

А кто это и за что? позвольте поинтересоваться.. )


Страницы:   1 2 ... 7 8 9 10 11 12 13 ... 32 33

Наверх

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