![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
использование TObj [Delphi, Windows]
KVita © (2005-07-17 15:24:00)почему у меня pObj.InstanceSize всегда возвращает 0?
PMyObj=^TMyObj;
TMyObj=object(TControl)
несколько методов
....
end;
var
MyObj:PMyObj;
i:Integer;
begin
MyObj:=PMyObj(_NewControl(...);
i:=MyObj.InstanceSize; // = 0 ????
и вообще - как KOL-объект размещается в памяти?
Thaddy (2005-07-18 18:15:00) [1]There are many examples on my website that show how to derive from Tcontrol the proper way. Also the controls by Vladimir himself and by ECM are good studymaterial. On the main KOL website there is a howto, written in russian that explains how to derive a new Tcontrol. For Tobj this problem does not exist: the same mechanism as VCL applies.
KVita (2005-07-18 14:48:00) [2]Полей у меня там нет, только методы и свойства (да с полями и вообще не работает). А вообще может кто порекомендует литературу по объектной модели. В стандартном Delphi Help про объекты нашел только, что дескать полный отстой. (лучше, конечно, по-русски, но на безрыбье и на буржуйском сойдет)
Barloggg (2005-07-18 13:44:00) [3]Да, именно так. В Tobj нельзя хранить никаких данных.
Будь добр создавай отдельный класс и храни все в нем, а этот класс цепляй к созданному тобою Tobj указанным Thaddy способом.
Thaddy (2005-07-17 19:31:00) [4]Do you use Fields? ( i.e. something like:
TmyObj = object(Tcontrol)
private
FField:Integer;
public
procedure setmymethod(value:integer);
end;
)
If that is the case you disturb the KOL Tcontrol structure.
Fields should be in a separate object attached to the CustomObj property of Tcontrol.