Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.18;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.014 c
15-1227005376
Knight
2008-11-18 13:49
2009.01.18
Откуда это TKGSFormEdge?


15-1227639224
Footballer
2008-11-25 21:53
2009.01.18
Проект информационной безопасности


2-1228409073
Tugodum
2008-12-04 19:44
2009.01.18
Изменение Атрибута


2-1228249482
ИванН
2008-12-02 23:24
2009.01.18
TSpeedButton


4-1204376662
Pashka
2008-03-01 16:04
2009.01.18
Как определить область памяти процесса