![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Освобождение ресурса в finally
Arinyshka © (2008-04-23 12:17:00)
Страницы: < 1 2 ... 7 8 9 10 11 12 13 ... 32 33 >
Не подскажете еще один момент:
Есть процедура, выглядит примерно так
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]
А кто это и за что? позвольте поинтересоваться.. )