Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

Сослаться на TIcon.Create   Найти похожие ветки 

 
08642   (2009-08-27 15:56) [0]

with TIcon.Create do
 try
   // ...
   SetIcon2() // ->TIcon.Create
   // ...
 finally
   Freel
 end;


Можно ли как нибуть сослаться на создаваемый TIcon


 
Сергей М. ©   (2009-08-27 15:58) [1]

Нибуть можно, но смотря где


 
sniknik ©   (2009-08-27 17:00) [2]

SetIcon2(Self);


 
sniknik ©   (2009-08-27 17:08) [3]

> SetIcon2(Self);
хотя, нет, ошибся. не у всех self есть. ;(


 
sniknik ©   (2009-08-27 17:24) [4]

можно сделать так, хотя получается изврат...
 TMyIcon = class(TIcon)
   function GetSelf: TIcon;
 end;

function TMyIcon.GetSelf: TIcon;
begin
 result:= self;
end;

with TMyIcon.Create do
try
  // ...
  SetIcon2(GetSelf) // ->TIcon.Create
  // ...
finally
  Freel
end;


 
clickmaker ©   (2009-08-27 17:41) [5]

Icon := TIcon.Create;
with Icon do
try
  // ...
  SetIcon2(Icon) // ->TIcon.Create
  // ...
finally
  Freel
end;


 
sniknik ©   (2009-08-27 17:44) [6]

clickmaker ©   (27.08.09 17:41) [5]
ну, так не интересно. весь смысл вопроса сослаться на "себя" не создавая переменную.


 
clickmaker ©   (2009-08-27 17:46) [7]

а смысл не создавать переменную?
компилятор ее все равно создаст
экономия 2 строчек кода? Смешно, особенно, если учесть [4] -)


 
Юрий Зотов ©   (2009-08-27 17:46) [8]

> 08642   (27.08.09 15:56)  

Есть один полухакерский способ, но это уже извращение. Используйте [5].


 
sniknik ©   (2009-08-27 17:52) [9]

> Есть один полухакерский способ
вытащить из какого нибудь метода?


 
sniknik ©   (2009-08-27 20:10) [10]

ну. вот в общем то, работает, но через одно место.  
procedure TForm1.Button1Click(Sender: TObject);

 procedure SetIcon2(Ass: TThreadMethod); //тип просто подобрал под использованный метод, чтобы не объявлять. т.е. никакого отношения... и т.д. все совпадения случайны.
 begin
   ShowMessage(TComponent(TMethod(Ass).Data).ClassName);
 end;

begin
 with TIcon.Create do
   try
     // ...
     SetIcon2(BeforeDestruction);
     // ...
   finally
     Free;
   end;
end;


 
sniknik ©   (2009-08-27 20:11) [11]

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


 
Leonid Troyanovsky ©   (2009-08-27 20:29) [12]


> sniknik ©   (27.08.09 20:11) [11]

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

Проще всего Free брать.
http://groups.google.com/group/fido7.ru.delphi/browse_frm/thread/9e2a9e1de5b72cbe/07ece6ec8c6f2b87

--
Regards, LVT.



Страницы: 1 вся ветка

Текущий архив: 2009.10.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
2-1251465886
stas
2009-08-28 17:24
2009.10.25
Сообщение о успешной установке сервиса


2-1251219105
stas
2009-08-25 20:51
2009.10.25
Установлен ли сервис


15-1251484515
DVM
2009-08-28 22:35
2009.10.25
В Delphi 7 d Windows.pas ошибка что ли в RegEnumValueW?


3-1228583788
FUV
2008-12-06 20:16
2009.10.25
Индекс для вычисляемого поля


2-1251194637
Kolan
2009-08-25 14:03
2009.10.25
Чем отличается закрытие по «крестику» и по Alt+F4?