Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
ВнизСоздание экземпляра "неизвестного" класса, Найти похожие ветки
← →
stas © (2012-09-06 17:32) [0]Есть такая функция, которая выполняет копирование объекта.
function TrmRoomCustom.Copy: TrmRoomCustom;
var r:TrmRoomCustom;
begin
if self.ClassType= TrmRoom then r:=TrmRoom.Create(parent);
if self.ClassType= TrmLRoom then r:=TrmLRoom.Create(parent);
Как сделать чтобы при вызови функции из наследника класса TrmRoomCustom, создавался экземпляр того класса, из которго вызвали функцию. Сейчас это реализовано через if, но это не правильно.
← →
stas © (2012-09-06 17:33) [1]Надеюсь понятно написал)
← →
Rouse_ © (2012-09-06 17:44) [2]
R := self.ClassType.Create(Parent);
← →
Palladin © (2012-09-06 17:55) [3]))
← →
stas © (2012-09-06 19:13) [4]Rouse_ © (06.09.12 17:44) [2]
Говорит что Create без параметров должен быть.
А результат выполнения TObject.
Чтобы понятнее было попробовал тоже самое сделать с кнопкой,
var B:TButton;
begin
B:= TButton(Button1.ClassType.Create);
B.Parent:=self; //тут Access violation
← →
anonimus (2012-09-06 19:27) [5]
type
TRoomclass =class of TrmRoomCustom;
var
cls: TRoomClass;
cls:=TRoomClass(self.ClassType);
newroom:=cls.Create(....);
← →
stas © (2012-09-06 19:50) [6]anonimus (06.09.12 19:27) [5]
Спасибо, то что нужно!
← →
Rouse_ © (2012-09-06 19:57) [7]
> Говорит что Create без параметров должен быть.
Угу, эт я уже в запарке не подумавши брякнул :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.079 c