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

Работа с классом   Найти похожие ветки 

 
Te   (2008-12-03 01:00) [0]

Создаю класс
Type
 TMClass=Class
   private
   i:integer;
   public
   constructor Create(a:integer);
   function AK():integer;
end;


Вместо нужного результата он возвращает огромное значение, конструктор отрабатывает правильно, а вот в функции значения очень большие.
Подскажите, что я делаю не так???
в конструкторе пишу
i:=a;
function TMClass.AK():integer;
begin
result:=i+i;
end;


при нажатие кнопки
var
v:TMClass;
begin
TMClass.create(2);
edit1.text:=inttostr(d.ak);
end;


 
Te   (2008-12-03 01:06) [1]

Числа получаются отрицательные


 
KilkennyCat ©   (2008-12-03 01:15) [2]

... и всегда одинаковые... независимо хоть create(2) хоть create(3)...


 
Andy BitOff ©   (2008-12-03 01:16) [3]

А как у тебя это компилируется?
var
v:TMClass;
begin
TMClass.create(2);
edit1.text:=inttostr(d.ak);
end;


 
KilkennyCat ©   (2008-12-03 01:17) [4]


> Andy BitOff

Дело не в опечатке v и d
Дело в неправильном вызове конструктора.
Правильно: v := TMClass.create(2);


 
Te   (2008-12-03 01:19) [5]


> KilkennyCat ©   (03.12.08 01:17) [4]

Спасибо всем, пойду дальше изучать классы!!!


 
{RASkov} ©   (2008-12-03 13:19) [6]

> Правильно: v := TMClass.create(2);

Ну почему, можно и так:
with TMClass.create(2) do
try
 edit1.text:=inttostr(ak);
finally
 Free;
end;



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

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



Память: 0.46 MB
Время: 0.008 c
15-1227066140
ArMellon
2008-11-19 06:42
2009.01.18
Нужен совет...


6-1197449836
AnatV
2007-12-12 11:57
2009.01.18
Как это называется?


2-1228255215
Te
2008-12-03 01:00
2009.01.18
Работа с классом


2-1228144157
Mozgan
2008-12-01 18:09
2009.01.18
Как расчитать процент?


2-1228411164
Витя
2008-12-04 20:19
2009.01.18
Совместный доступ разных процессов к одним данным




   Наверх