Главная страница
    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.051 c
2-1251642682
tonich
2009-08-30 18:31
2009.10.25
Блокировка потоков


15-1249839719
1324
2009-08-09 21:41
2009.10.25
Будущее DELPHI


15-1250850838
Медвежонок Пятачок
2009-08-21 14:33
2009.10.25
перечень нехорошего


2-1251020827
EXEcER
2009-08-23 13:47
2009.10.25
Рэндом в Label


9-1182962956
Dib@zol
2007-06-27 20:49
2009.10.25
Многоугольник





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