![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Освобождение ресурса в finally
Arinyshka © (2008-04-23 12:17:00)
Страницы: < 1 2 ... 24 25 26 27 28 29 30 31 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 ситуация не менялась.
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;