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

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

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


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


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]

"Кто не работает, не ест, ты спутал, батя"


Страницы:   1 2 ... 22 23 24 25 26 27 28 ... 32 33

Наверх

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