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

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

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


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


Игорь Шевченко   (2008-05-07 14:43:00) [121]

ANB   (07.05.08 14:32) [531]


> Уточняю - наша база весит 20 террабайт.


С картинками ?

Я к чему: объем в попугаях - ничто. Ты понимаешь, что для выхода на половину твоего объема мне достаточно залить сколько-то DVDшников в базу и гнуть пальцы, что дескать, у меня круто.

Но мы отвлеклись от темы насчет трехзвенки и автоматизированной банковской системы.

Что должна уметь твоя система, сколько народу ей должно пользоваться, как и с какой интенсивностью ?


ANB   (2008-05-07 14:32:00) [122]


> "половина нашего объема" - это неизвестная единица измерения.

Уточняю - наша база весит 20 террабайт. Относится к малым базам данных.
Половина - это 10 террабайт.


> Palladin ©   (07.05.08 12:13) [529]

А аппсервер никто не дорабатывает ?


> Они очень даже счастливые :)
>
> ты так ничего и не понял...

Это ты ничего пока не понял. С опытом поймешь.

По поводу универсализма (независимости от СУБД) :
решаем простенькую тестовую задачу.
Имеем 2 таблицы :
Т1
(
 ИД
,Ф1
)

Т2
(
 ИД
,Т1_ИД
,Ф2
)

Связь мастер-детал. Т.е., для примера - Т1 - список документов, Т2 - их строки.
Надо : в одной транзакции добавить документ и к нему пару строк.
И как ты извернешься с одинаковым запросом под мс скл и оракл ?

ЗЫ. Предметка так и не озвучена.


Игорь Шевченко   (2008-05-07 12:44:00) [123]


>  хотя бы в половину нашего объема


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


Palladin   (2008-05-07 12:13:00) [124]


> ANB   (07.05.08 12:09) [527]

ты представляешь, с точки зрения моего прикладного программиста - это тоже однозвенка, он знает только про клиент и про сервер...


Palladin   (2008-05-07 12:12:00) [125]


> ANB   (07.05.08 12:06) [525]


> Когда выйдешь на базу, хотя бы в половину нашего объема,
>  заказчики тебе скажут - ну ее нафиг гибкость и расширяемость.
>  Это вы для своего удобства прикрутили. Вы нам производительность
> на место верните.
> Очередной уродец с независимостью от СУБД.

нафиг мне половина вашего объема? была бы половина вашего объема мне бы понадобилось другое решение :) нафиг мне размер твоей пиписки? :)


> И кто это придумал ?
> Бедные ваши заказчики.

Они очень даже счастливые :)

ты так ничего и не понял...


ANB   (2008-05-07 12:09:00) [126]


> И вообще, задумывался ли ты, что используя браузер ты используешь
> как раз ту самую ненавистную тебе трехзвенную модель приложения?
>

Да хоть 15-ти звенную. Главное - с точки зрения прикладного программера - это однозвенка. Если все грамотно продумано.


ANB   (2008-05-07 12:07:00) [127]


> лучше быть первоклассным кодером чем хреновым архитектором.
> .. да и ответственности меньше :)

А денег больше :)


ANB   (2008-05-07 12:06:00) [128]


> Palladin ©   (07.05.08 11:44) [522]

А чего вся эта байда полезного делает ?


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

Когда выйдешь на базу, хотя бы в половину нашего объема, заказчики тебе скажут - ну ее нафиг гибкость и расширяемость. Это вы для своего удобства прикрутили. Вы нам производительность на место верните.
Очередной уродец с независимостью от СУБД.


> обращения сервера к СУБД не уходят за рамки SQL-92. Специально
> так делалось.
И кто это придумал ?
Бедные ваши заказчики.


> Не бывать тебе архитектором, не дай бог... загубишь все.
> .. ты сначала хотя бы программистом стань... потому что
> так как описано в [503] пишут кодеры...

Да бывал я уже архитектором. И внедренных проектов написанных как лично, так и командой хватает. Могу похвастаться - у меня нет НИ ОДНОГО заваленного проекта.
Тока сейчас архитекторам чет денег дают меньше, чем кодерам.


Palladin   (2008-05-07 12:03:00) [129]

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


Palladin   (2008-05-07 11:54:00) [130]

И вообще, задумывался ли ты, что используя браузер ты используешь как раз ту самую ненавистную тебе трехзвенную модель приложения?


Palladin   (2008-05-07 11:44:00) [131]

Я трехзвенку начал создавать не от хорошей жизни и не из маркетинговых соображений. Дело в том что контора специализируется на конкретном виде приложений. Если абстрагироваться, то можно выделить основные выполняемые приложениями функции. Перенести эти функции на серевер, написать к ним API. В результате написание довольно простенького приложения занимает максимум неделю. При этом оно будет уже работать в распределенной инфраструктуре, поддерживать HTTPS и работу через HTTP-прокси. И ему будет по барабану на все каскады брендмауеров, бо работает оно по HTTP, админам ничем шевелить не нужно будет, что бы все заработало,ну разве что поднапрячься если будут использовать SSL, сертификаты раздать. Второй момент, API, API - построено уже в терминах сущностей предметной области любого приложения в этом виде. В некотором роде я написал очень легкий аналог JavaBeans и его сервера приложений, но со своей спецификой. Там же (на сервере) крутится механизм автообновления приложений. Сервер может работать с любой БД, к которой существует OLE DB провайдер, так что выбор сервера БД остается за заказчиком. Он может стартовать например с jet, при необходимости абсолютно безболезненной перейти на mssql или oracle (так горяче тобой любимый), бо обращения сервера к СУБД не уходят за рамки SQL-92. Специально так делалось. Теряем конечно производительность в некоторых случаях, но приобретаем гибкость и расширяемость. Хотя на всякий случай в API введена возможность подачи SQL запроса на БД. И представляешь, я сейчас делаю первые шаги в реализации даемона для freebsd, и представляешь, решит заказчик сменить платформу на сервере и кроме смены платформы ему ничего не придется делать... плюс у сервера приложений много других приятностей, сжатие данных, сохранение клиентских сессий (в случае необходимости рестарта), автоматическое обновление приложений (пакеты обновлений могут быть залиты обновлений) и ну и так по мелочи, для сопровожденцев...

Не бывать тебе архитектором, не дай бог... загубишь все... ты сначала хотя бы программистом стань... потому что так как описано в [503] пишут кодеры...


ANB   (2008-05-07 11:41:00) [132]


> Хотя все может свестись к терминальному режиму и той же
> двузвенке

У нас терминал. Или как вариант - репликация между серверами филиалов (у нас нету).
Репликация будет даже лучше, чем аппсервер. Если филиал мелкий, то оракл мона развернуть на обычной рабочей станции.


Reindeer Moss Eater   (2008-05-07 11:19:00) [133]

Хотя все может свестись к терминальному режиму и той же двузвенке


Reindeer Moss Eater   (2008-05-07 11:18:00) [134]

И нужна и не нужна.
Например допофис сидит далеко от оракла на тонкой проволочке или через спутник. Канал тонкий, и пинг нестабильный. Оракл чувствителен к такой ерунде и нужна трехзвенка.


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


> Автоматизированная банковская система.


ТЗ плиз. Во-первых, абсолютно неизвестная для меня область, во-вторых, слишком расплывчатое понятие, чтобы сразу сказать - да, здесь не нужна многозвенка или нет, здесь необходима многозвенка.


ANB   (2008-05-07 10:32:00) [136]


> Что такое АБС и чем отличается от XYZ ?

Ой. Привычка. Автоматизированная банковская система.


Игорь Шевченко   (2008-05-07 10:22:00) [137]

ANB   (07.05.08 10:04) [513]

Что такое АБС и чем отличается от XYZ ?


ANB   (2008-05-07 10:12:00) [138]


> +300 килобаксов

Во. И на эти деньги пишем миниапсервер, который тупо пересылает на сервер и обратно все запросы и ответы. :)
А потом продолжаем писать классику.


ANB   (2008-05-07 10:06:00) [139]


> Например, по соображениям безопасности заказчик выдвигает
> требование: прямой коннект клиента к серверу запрещен.

Безопасность подключения оракла ничем не хуже подключения через апсервер. А заказчику говорим : +300 килобаксов и любой каприз за ваши деньги :)


ANB   (2008-05-07 10:04:00) [140]


> Игорь Шевченко ©   (07.05.08 09:58) [511]

Ну хорошо. Чтобы не писать длинно : АБС. Они все работают плюс-минус одинаково.


Страницы:   1 2 3 4 5 6 7 8 9 10 ... 32 33

Наверх

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