Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
Внизиспользование with Найти похожие ветки
← →
maratvg (2003-08-20 11:21) [0]Для примера вот такая конструкция:
with TSomeClass.Create(nil) do
try
...
DoSomeProcedure(???);
...
finally
Free;
end;
там где "???" надо передать объект типа TSomeClass.
Как это можно реализовать красиво, может быть есть способ?
← →
Юрий Федоров (2003-08-20 11:23) [1]Если нужно передать тот самый объект, который ты создал в строке
with TSomeClass.Create(nil) do
то никак.
← →
Skier (2003-08-20 11:24) [2]
> там где "???" надо передать объект типа TSomeClass.
То есть он сам собой владеет или ?
От чего TSomeClass наследуется ?
> может быть есть способ?
Есть. Используй переменную.
← →
Vlad (2003-08-20 11:25) [3]var V: TSomeClass;
begin
V:=TSomeClass.Create(nil);
with V do
try
...
DoSomeProcedure(V);
...
finally
Free;
end;
end;
← →
Digitman (2003-08-20 11:25) [4]
> надо передать объект типа TSomeClass
какой объект ? текущий ?
DoSomeProcedure() - это метод класса TSomeClass или автономная процедура ?
← →
Vlad (2003-08-20 11:28) [5]2 Digitman © (20.08.03 11:25) [4]
Какой смысл в метод класса TSomeClass передавать объект типа TSomeClass ?
← →
maratvg (2003-08-20 12:43) [6]По порядку:
не хотелось использовать дополнительной переменной
var V: TSomeClass;
Процедура DoSomeProcedure - это не метод класса TSomeClass.
Всем спасибо, ответ уже получен.
>Юрий Федоров © (20.08.03 11:23) [1]
>Если нужно передать тот самый объект, который ты создал в строке
>with TSomeClass.Create(nil) do
>то никак.
← →
MBo (2003-08-20 12:47) [7]>Если нужно передать тот самый объект, который ты создал в строке
>with TSomeClass.Create(nil) do
>то никак
Можно, но через одно место.
Не стоит.
← →
Anatoly Podgoretsky (2003-08-20 12:59) [8]Религия по неиспользованию локальной переменной здесь вредна, попытки реализовать это другими методами с лихвой перекроют потерю 4 байтов и добавят энное количество ошибок.
with в данной реализации предназначен для создания анонимного объекта.
← →
pasha_golub (2003-08-20 13:03) [9]Self?
← →
Skier (2003-08-20 13:05) [10]>pasha_golub © (20.08.03 13:03) [9]
Да ну ?! :)
← →
Vlad (2003-08-20 13:05) [11]2 pasha_golub © (20.08.03 13:03) [9]
Self - это ссылка на класс, внутри которого происходит сие драматическое действие :))
← →
Digitman (2003-08-20 13:07) [12]
> Vlad
почем я знаю ?
> там где "???" надо передать объект типа TSomeClass.
мало ли какой экземпляр того же класса (и для каких целей) требуется передать здесь параметром метода
← →
pasha_golub (2003-08-20 13:08) [13]Значит я нифига не врубился, бывает :-)
← →
Романов Р.В. (2003-08-20 13:24) [14]Добавь в этот класс метод, который возвращает ссылку на объект.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.09.04;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c