![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сослаться на TIcon.Create
08642 © (2009-08-27 15:56:00)
with TIcon.Create do
try
// ...
SetIcon2() // ->TIcon.Create
// ...
finally
Freel
end;
Можно ли как нибуть сослаться на создаваемый TIcon
Leonid Troyanovsky (2009-08-27 20:29:00) [1]
> sniknik © (27.08.09 20:11) [11]
> метод кстати тоже, первый, что на глаза попался.
Проще всего Free брать.
http://groups.google.com/group/fido7.ru.delphi/browse_frm/thread/9e2a9e1de5b72cbe/07ece6ec8c6f2b87
--
Regards, LVT.
sniknik (2009-08-27 20:11:00) [2]> //тип просто подобрал под использованный метод
метод кстати тоже, первый, что на глаза попался.
sniknik (2009-08-27 20:10:00) [3]ну. вот в общем то, работает, но через одно место.
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 17:52:00) [4]> Есть один полухакерский способ
вытащить из какого нибудь метода?
clickmaker (2009-08-27 17:46:00) [5]а смысл не создавать переменную?
компилятор ее все равно создаст
экономия 2 строчек кода? Смешно, особенно, если учесть [4] -)
Юрий Зотов (2009-08-27 17:46:00) [6]> 08642 (27.08.09 15:56)
Есть один полухакерский способ, но это уже извращение. Используйте [5].
sniknik (2009-08-27 17:44:00) [7]clickmaker © (27.08.09 17:41) [5]
ну, так не интересно. весь смысл вопроса сослаться на "себя" не создавая переменную.
clickmaker (2009-08-27 17:41:00) [8]Icon := TIcon.Create;
with Icon do
try
// ...
SetIcon2(Icon) // ->TIcon.Create
// ...
finally
Freel
end;
sniknik (2009-08-27 17:24:00) [9]можно сделать так, хотя получается изврат...
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;
sniknik (2009-08-27 17:08:00) [10]> SetIcon2(Self);
хотя, нет, ошибся. не у всех self есть. ;(
sniknik (2009-08-27 17:00:00) [11]SetIcon2(Self);
Сергей М. (2009-08-27 15:58:00) [12]Нибуть можно, но смотря где