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

Вниз

With как параметр   Найти похожие ветки 

 
Andy BitOff ©   (2005-01-12 13:25) [0]

Подскажите, как, если это возможно, передать как параметр...
Незнаю как сказать. Вообщем на примере объясню.


 with TSringList.Create do begin
   try
     ...
     SomeProc(<этот самый SringList>);
     ...
   finally
     Free;
   end;
 end;


 
jack128 ©   (2005-01-12 13:30) [1]

никак. Объявляй переменную.


 
Eraser ©   (2005-01-12 13:31) [2]

:-)) интересная ситуация.
Ответ виже только один. Обявляй в локальном (ну или глобальном) var"e переменную sl: TSringList! Допустим если у тебя это происходит внутри цикла, то

var sl: TSringList;
...
for i:=0 to count-1 do
begin
 sl:=TSringList.Create;
 ...
 someproc(sl);
 ...
 sl.free;
end;

А что ещё надо...


 
KSergey ©   (2005-01-12 13:32) [3]

На королевстве есть упоминание как можно извратиться, толькот смысла в этом нет
Если нужна ссылка - значит объявить переменную.


 
begin...end ©   (2005-01-12 13:39) [4]

> Andy BitOff ©   (12.01.05 13:25)

Это сделать можно, но намного проще объявить переменную.
А сделать можно, например, так:

type
 TMyProcedure = procedure of object;

function GetObject(Proc: TMyProcedure): TObject;
begin
 Result := TObject(TMethod(Proc).Data)
end;

with TStringList.Create do
begin
 SomeProc(GetObject(GetObject(Free)))
end.


 
Andy BitOff ©   (2005-01-12 13:49) [5]

Всем спасибо, я так и думал.

Одноко никто не заметил, а некоторые даже при копировании не заметили, что я допустил опечатку в слове SringList
:)))
Но я это, конечно не специально. :)))


 
Eraser ©   (2005-01-12 13:51) [6]

Andy BitOff ©
Молодец! Зауважал )))


 
Fay ©   (2005-01-12 13:53) [7]

>> Одноко
А это специально? 8)


 
Anatoly Podgoretsky ©   (2005-01-12 14:20) [8]

Andy BitOff ©   (12.01.05 13:49) [5]
Просто тактичные люди, не стали тыкать мордой в опечатку.


 
Семен Сорокин ©   (2005-01-12 14:30) [9]


> Anatoly Podgoretsky ©   (12.01.05 14:20) [8]
> Andy BitOff ©   (12.01.05 13:49) [5]
> Просто тактичные люди, не стали тыкать мордой в опечатку.

LOL
:)))))



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

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

Наверх




Память: 0.48 MB
Время: 0.031 c
14-1104592017
Просто Джо
2005-01-01 18:06
2005.01.23
Какая гадость эта ваша... (по выбору)


1-1105562080
chir
2005-01-12 23:34
2005.01.23
ToolButton6.DropdownMenu.Popup(0,0); - как получить координаты?


4-1101883758
dms_main
2004-12-01 09:49
2005.01.23
GetWindowsSysDir


1-1105544827
chir
2005-01-12 18:47
2005.01.23
Sender... кто же вызвал процедуру?...


6-1099292621
Ozone
2004-11-01 10:03
2005.01.23
LoadFromStream