Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Вниз

использование TObj   Найти похожие ветки 

 
KVita   (2005-07-17 15:24) [0]

почему у меня 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-17 19:31) [1]

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.


 
Barloggg   (2005-07-18 13:44) [2]

Да, именно так. В Tobj нельзя хранить никаких данных.
Будь добр создавай отдельный класс и храни все в нем, а этот класс цепляй к созданному тобою Tobj указанным Thaddy способом.


 
KVita   (2005-07-18 14:48) [3]

Полей у меня там нет, только методы и свойства (да с полями и вообще не работает). А вообще может кто порекомендует литературу по объектной модели. В стандартном Delphi Help про объекты нашел только, что дескать полный отстой. (лучше, конечно, по-русски, но на безрыбье и на буржуйском сойдет)


 
Thaddy   (2005-07-18 18:15) [4]

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.



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

Форум: "KOL";
Текущий архив: 2006.03.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.014 c
2-1140700066
VitV
2006-02-23 16:07
2006.03.12
Смена цвета кнопки


6-1129405704
Volf_555
2005-10-15 23:48
2006.03.12
Определение MAC-адреса УДАЛЁННОГО компьютера


1-1139233552
KyRo
2006-02-06 16:45
2006.03.12
Как зарегистрировать сервис


2-1140507460
Piero
2006-02-21 10:37
2006.03.12
Разложить byte на биты


15-1140341666
Nic
2006-02-19 12:34
2006.03.12
Работа с SQL in Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский