Вниз
Скачать: CL | DM;

Одна функция для двух одинаковых компонент, возникла проблема   Найти похожие ветки 

← →
Вадим   (2010-04-28 16:05) [0]

В общем проблема в следующем.
Сначала на форме был один компонент Имаже1. Для него я написал длиннющую процедуру ДроуСрн.
procedure DrawSRN;
var
всякие переменные
begin
with Image1.Canvas do
begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;
end;


Позже появилась надобность в еще одном компоненте-дубликате Имаже2, для которого нужно выполнить ту же процедуру ДроуСРН.
Каким способом поступают в этом случае?
Тупо создают вторую процедуру путем копирования тела DrawSRN, только меняют Image1 на Image2?
procedure DrawSRN_2;
var
всякие переменные
begin
with Image2.Canvas do
begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;
end;


Или есть какой-то оптимальный вариант?
Например, такой вариант выдал ошибку:
procedure DrawSRN;
var
всякие переменные
begin
with Image1.Canvas and Image2.Canvas do
begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;
end;


Ну, думаю, понятно объяснил.


← →
12 ©   (2010-04-28 16:25) [1]

procedure DrawSRN(AImage:TImage);

with AImage.Canvas do
begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;


← →
_Гость_   (2010-04-28 16:26) [2]

procedure DrawSRN(Image: TImage);
begin
with Image.Canvas do


← →
Lyonux ©   (2010-04-28 16:29) [3]

begin
очень длинный список функций и процедур, которые необходимо выполнить на канвасе
end;


данный кусок кода записать в отдельную процедуру и для обоих компонентов писать:
with Image1.Canvas do %procedurename%
with Image2.Canvas do %procedurename%


← →
Вадим   (2010-04-28 17:11) [4]

Большое спасибо! Как всё просто оказалось.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.043 c
15-1270758602
Юрий
2010-04-09 00:30
2010.08.27
С днем рождения ! 9 апреля 2010 пятница


3-1226323378
DSKalugin
2008-11-10 16:22
2010.08.27
Авторизация в DataSnap/SOAP


2-1268949255
allrussia
2010-03-19 00:54
2010.08.27
Технология работы процедуры


8-1204825605
VID
2008-03-06 20:46
2010.08.27
Проиграть звук в отдельном потоке


2-1275153874
Mishka
2010-05-29 21:24
2010.08.27
panel + statusbar(SizeGrip)




   Наверх