Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.10.25;
Скачать: [xml.tar.bz2];

Вниз

Сослаться на 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.044 c
15-1251360949
Cyrax
2009-08-27 12:15
2009.10.25
Что означает термин "функциональная версия" сайта ?


2-1251702004
wah
2009-08-31 11:00
2009.10.25
XP Style и Standard


2-1251091182
Interesting
2009-08-24 09:19
2009.10.25
Как возвести число в степень?


15-1251525036
TUser
2009-08-29 09:50
2009.10.25
Умный хостинг?


15-1251387244
uw
2009-08-27 19:34
2009.10.25
Большой XML





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский