Главная страница
    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.47 MB
Время: 0.047 c
15-1250858767
macrodens
2009-08-21 16:46
2009.10.25
Вопрос по RAID


15-1250967890
@!!ex
2009-08-22 23:04
2009.10.25
Linux -это всегда OpenSource?


15-1251078092
имя
2009-08-24 05:41
2009.10.25
Деноминация


15-1251518417
Nic
2009-08-29 08:00
2009.10.25
Западные Финансовые/Деловые СМИ


2-1251725937
Rembo
2009-08-31 17:38
2009.10.25
IdHttp.Post мультистрочная переменная





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский