![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с классом
Te © (2008-12-03 01:00:00)Создаю класс
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;
{RASkov} (2008-12-03 13:19:00) [1]> Правильно: v := TMClass.create(2);
Ну почему, можно и так:
with TMClass.create(2) do
try
edit1.text:=inttostr(ak);
finally
Free;
end;
Te (2008-12-03 01:19:00) [2]
> KilkennyCat © (03.12.08 01:17) [4]
Спасибо всем, пойду дальше изучать классы!!!
KilkennyCat (2008-12-03 01:17:00) [3]
> Andy BitOff
Дело не в опечатке v и d
Дело в неправильном вызове конструктора.
Правильно: v := TMClass.create(2);
Andy BitOff (2008-12-03 01:16:00) [4]А как у тебя это компилируется?
var
v:TMClass;
begin
TMClass.create(2);
edit1.text:=inttostr( d.ak);
end;
KilkennyCat (2008-12-03 01:15:00) [5]... и всегда одинаковые... независимо хоть create(2) хоть create(3)...
Te (2008-12-03 01:06:00) [6]Числа получаются отрицательные