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

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

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


Страницы:   1 2 ... 24 25 26 27 28 29 30 31 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 ситуация не менялась.


ZENsan   (2008-04-24 15:32:00) [521]

Удалено модератором


Palladin   (2008-04-24 15:32:00) [522]


> ZENsan ©   (24.04.08 15:30) [128]

еще раз говорю, прекрати нести пургу
процедур в записях нет конечно


Palladin   (2008-04-24 15:31:00) [523]

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

Class Function Func:Integer;

отличается от
Class Function Func:Integer; Static;


ZENsan   (2008-04-24 15:30:00) [524]

Я начинал с 4-ого... Их там никогда не было и в 5 небыло, и в 6-ом.. и в 7-ом..

Может у тебя в 7-ом ещё и записи с методами естй??
типа

type TmyRecord = record
 Value: Integer;
 procedure SomeProc;
end;


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

> ZENsan ©   (24.04.08 15:09) [109]

Ссылку посмотрел. Полезная. Для начинающих. Мне уже поздно. Видишь ли, в чем штука - я подобные статьи писал(именно так - уже не читал, а писал) еще когда даже Win32 еще только в проекте была. То есть, лет около 15 тому назад - и именно по Delphi 1 (а других тогда и не было).

Еще раз тебе говорю - классовые методы существовали в Delphi всегда, начиная с самой первой версии. И не спорь даже. Не позорься.

Что касается второй ссылки ("в описании Делфи 2005 описивается это как новоая возможность") - то ты перепутал, извини, зеленое с горячим. Там речь идет совсем о другом.


Игорь Шевченко   (2008-04-24 15:29:00) [526]

"Unlike ordinary class methods, class static methods have no Self parameter at all"
"Also unlike class methods, class static methods cannot be declared virtual. "

и вся разница.

ZENsan ©   (24.04.08 15:23) [123]


> И статические были только конструктор/деструктор...


деструктор всегда виртуальный (у TObject), следовательно не может быть статическим.


Palladin   (2008-04-24 15:27:00) [527]

да у меня D5 и D6
я с D6 работаю ~6 лет
возможно они есть и в D4
за раньше не скажу


ZENsan   (2008-04-24 15:25:00) [528]

А скажи нет еще...? Я болен вместе с CodeGear да?


Palladin   (2008-04-24 15:24:00) [529]


> ZENsan ©   (24.04.08 15:23) [123]

хватит гнать пургу...


ZENsan   (2008-04-24 15:23:00) [530]

До 7 делфи вы можете описать только динамические методы класа. И статические были только конструктор/деструктор...


ZENsan   (2008-04-24 15:22:00) [531]

Вэ даже на факти с официального сайта разработчика не обращаете внимания - чего тут говоить-то
http://dn.codegear.com/article/34324


Игорь Шевченко   (2008-04-24 15:21:00) [532]


> Это методы класса, которые могут вызываться без создания
> объекта!!!


они вообще с первой версии Delphi имеются.


Palladin   (2008-04-24 15:21:00) [533]


> ZENsan ©   (24.04.08 15:19) [119]

ты это, больной на голову чтоли? а я тебе о чем говорю, или ты считаешь что я читать не умею...


ZENsan   (2008-04-24 15:19:00) [534]

чуваки дают.......

Не методы класса!!!!  Вы вообще читаете...

Это методы класса, которые могут вызываться без создания объекта!!!

С кем я тут вообще общаюсь тогда....


Palladin   (2008-04-24 15:17:00) [535]


> ZENsan ©   (24.04.08 15:16) [115]

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


Ega23   (2008-04-24 15:17:00) [536]


> type TMyClass - class
>  class procedure SomeProc;
> end;
>
> Потом ты пишеш в проге просто:
>
> ...
> TMyClass.SomeProc;
> ...
>
> Это класс-метод...
> В 7 делфи такого нету. Или я ошибаюсь?


И этот человек принимает участие в разработке JEDI....


ZENsan   (2008-04-24 15:16:00) [537]

Palladin

type TMyClass - class
 class procedure SomeProc;
end;

Потом ты пишеш в проге просто:

...
TMyClass.SomeProc;
...

Это класс-метод...
В 7 делфи такого нету. Или я ошибаюсь?


Ega23   (2008-04-24 15:16:00) [538]


> Но в 7 100% никогда не было!


упалпацтул.
Они, вообще-то ещё в D5 были (может и раньше, просто я с D5 начинал)


ZENsan   (2008-04-24 15:14:00) [539]

Тут вообще не на шутку у вас дискуссии... А по началу вопрос-то был простой и на него оветили.. А какой вариант правильный - знает только бог :)

"Маке it simple as possible, but no more!" - Как говорил Niklaus Wirth


Ega23   (2008-04-24 15:14:00) [540]


> Простенький пример :
> имеем хитрый текстовый файл, который надо разобрать на клиенте,
>  закачать в БД и потом обработать уже хранимкой.
> В процессе разбора иногда придется опять таки обращаться
> к БД за уточнением информации.
> Ошибочные строки надо записать в другой файл и при этом
> еще вести лог обработки.


type
 
 TХитыйФайлParser = class

 public
   constructor Create;
   destructor Destroy; override;

   procedure ParseFile;

   property Connection : TADOConnection read FConnection write SetFConnection;
   property FileName : string read FFileName write SetFFileName;
   property ErrFileName : string read FErrFileName write SetFErrFileName;
 end;


Страницы:   1 2 ... 24 25 26 27 28 29 30 31 32 33

Наверх

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