![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Освобождение ресурса в finally
Arinyshka © (2008-04-23 12:17:00)
Страницы: < 1 2 ... 22 23 24 25 26 27 28 ... 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 ситуация не менялась.
Ega23 (2008-04-24 16:50:00) [481]
> Ну про новшества since Delphi 7...
Вот чудак-человек. Ты сейчас пытаешься доказать то, что колесо было изобретено в 20 веке.
{RASkov} (2008-04-24 16:49:00) [482]> [169] Palladin © (24.04.08 16:47)
Уже давно начал...
{RASkov} (2008-04-24 16:47:00) [483]> [166] ZENsan © (24.04.08 16:46)
не работали и что? :)
От этого классовые методы из предыдущих делфи не пропали.... поверь :)
Palladin (2008-04-24 16:47:00) [484]
> {RASkov} © (24.04.08 16:46) [167]
он юлить начал, вот к тому это...
ZENsan (2008-04-24 16:47:00) [485]Ну про новшества since Delphi 7...
ZENsan (2008-04-24 16:46:00) [486]Вы просто на 2007 не работали я смотрю...
{RASkov} (2008-04-24 16:46:00) [487]> [164] ZENsan © (24.04.08 16:45)
Это что за вообще такое и к чему оно вообще здесь? :)
ZENsan (2008-04-24 16:45:00) [488]type
TOuterClass = class
strict private
MyField: Integer;
public
type
TInnerClass = class
public
MyInnerField: Integer;
procedure InnerProc;
end;
procedure OuterProc;
end;
{RASkov} (2008-04-24 16:45:00) [489]> Вторая строка откомпилится во всех делфи...
имелось в виду эта:
> TMyClass.StatProc('Hello');
{RASkov} (2008-04-24 16:44:00) [490]> [161] ZENsan © (24.04.08 16:42)
> Вложенные классы..
куда? :) в МММ?
ZENsan (2008-04-24 16:42:00) [491]Вложенные классы.. Ето всё новое после 7 делфи..
{RASkov} (2008-04-24 16:42:00) [492]> [159] ZENsan © (24.04.08 16:40)
И что? Вторая строка откомпилится во всех делфи...
Игорь Шевченко (2008-04-24 16:41:00) [493]ZENsan © (24.04.08 16:35) [157]
type TMyClass = class
class procedure SomeProc;
end;
...
TMyClass.SomeProc;
Этот код можно выполнить в D1,D2,D3,D4,D5,D6,D7, далее со всеми остановками до станции Можайск Смоленского направления.
ZENsan (2008-04-24 16:40:00) [494]
> А что от чего отличаем-то?
begin
TMyClass.X := 17;
TMyClass.StatProc('Hello');
end.
{RASkov} (2008-04-24 16:37:00) [495]> [157] ZENsan © (24.04.08 16:35)
А что от чего отличаем-то?
Игорь Шевченко (2008-04-24 16:35:00) [496]
> ZENsan © (24.04.08 15:16) [115]
> Palladin
>
> type TMyClass - class
> class procedure SomeProc;
> end;
>
> Потом ты пишеш в проге просто:
>
> ...
> TMyClass.SomeProc;
> ...
>
> Это класс-метод...
> В 7 делфи такого нету. Или я ошибаюсь?
Ошибаешься
ZENsan (2008-04-24 16:35:00) [497]Игорь неужели даже вы не видите различия здесь от Делфи 7....
{RASkov} (2008-04-24 16:34:00) [498]> [146] ZENsan © (24.04.08 16:15)
Классовые методы имеются всегда. TObject он вообще практически из них только и состоит, а вот классовые переменные появились позже... позже D7..
ZENsan (2008-04-24 16:33:00) [499]Я просто рассказываю-то не static members...
type
TMyClass = class
strict private
class var
FX: Integer;
strict protected
// Note: accessors for class properties must be declared class static.
class function GetX: Integer; static;
class procedure SetX(val: Integer); static;
public
class property X: Integer read GetX write SetX;
class procedure StatProc(s: String); static;
end;
TMyClass.X := 17;
TMyClass.StatProc('Hello');
Или вы даже сайту CodeGear не верите уже...что это новшество в языке и появилось только недавно.
Игорь Шевченко (2008-04-24 16:32:00) [500]"Кто не работает, не ест, ты спутал, батя"