DeT
offline
Опыт:
5,715Активность: |
[Handle] - могете поподробнее
САБЖ.
Расскажите плиз о принцыпе работы,методах и примерах использования. скажем например вопрос: там есть сет хэндл ф-ия, юзаем ее и присваиваем значение глобалки, изменится ли при изменнении глобалки значение, содержащееся в объекте? DeT добавил: Ну и в принцыпе о самих хэндлах... статьи просто норм. не нашел |
13.02.2007, 17:10 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exAres
I love magic :)
offline
Опыт:
7,788Активность: |
Цитата:
DeT handle это и есть тот же объект, только в цифровом формате т.е. всё что делается с хендлом напрямую связано с объектом, я бы даже сказал что хендл это более "главная единица" чем сам объект(юнит и т.д.) т.к. компьютер работает именно с "цифровыми" объектами! Цитата:
|
||
13.02.2007, 17:56 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
adic3x
offline
Опыт:
107,539Активность: |
Вообщето хендл это надтип т.е. каждый юнит хендл, но не каждый хендл юнит... |
13.02.2007, 18:02 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
exAres
I love magic :)
offline
Опыт:
7,788Активность: |
Цитата:
|
|
13.02.2007, 18:38 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
Handle - это дескриптор, всегда и везде.
В варкрафте дескриптор означает ссылку на обьект, значение дескриптора - порядковый номер обьекта в встроенном менеджере памяти. Дескриптор представляет собой целое 4 байтовое число. Что с ним можно делать - свободно передавать ссылку на обьект в другую функцию, вместо того что бы передавать сам обьект. Фактически, принцип действия равносилен ссылкам или указателям в других языках программирования. Без знания жасса использование дескрипторов существенно затруднено. NETRAT добавил: Следует так же помнить, что все локальные обьекты (обявленные как local и не использующие конструкторы типа CreateXXX()) существуют локально внутри функции, поэтому ссылки на них очень быстро становятся ссылками на несуществующий обьект. А вот глобальные обьекты или сконструированные методом CreateXXX() обьекты существуют до тех пор пока для них не вызван деструктор или все время выполнения скрипта. Здесь наиболее часто используемыются дескрипторы для передачи ссылки на конструируемый обьект (CreateXXX()) из одной функции в другую - такая передача единственно возможна через механизм ссылок. Так же стоит подчеркнуть что ссылка не имеет типа, то есть при ее использовании всегда нужно точно знать какой тип обьекта соответствует ссылке. NETRAT добавил: Основной принципы 1. Любая ссылка может приобретать любой тип, то есть может быть присвоена обьекту любого типа (но, естественно, полученный обьект будет работать только в том случае если тип сответствует реальному типу) 2. На любой обьект можно получить ссылку |
13.02.2007, 19:01 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DeT
offline
Опыт:
5,715Активность: |
NETRAT,санкс.
Тада такое интересное предположение: call SetHandleReal(<тип объекта>, "<строковый параметр>", <значение>) позволяетсоздать некое пародие классов скажем в о.паскале? |
13.02.2007, 22:18 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
это называется база данных где номер объекта есть таблица строка есть лэйбл а данные под лэйблом имеют формат числа с плавающей точкой |
14.02.2007, 03:19 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DeT
offline
Опыт:
5,715Активность: |
рррр я вопрс вроде как задал :): |
14.02.2007, 15:21 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
Код:
Это юзаю я сам, ничего гениального, просто РБ с чуточкой кастюмизации. как говориться сделано ради удобства онли, где то валялся СДАРС, так вот в узких местах следует юзать его. |
14.02.2007, 15:47 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DeT
offline
Опыт:
5,715Активность: |
С етим все понятно...
гратц, все понятно кроме ф-ии CoreName() у мну е нету в JSP(думаю нада новую версию скачать) у мну вапрос был не про ето(второй):
Мы могем расширить границы класс unit привив ему небольшую системку работы скажем с прараметрами...
блин..я тупо наверно выражаюсь :): |
14.02.2007, 16:30 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DioD
offline
Опыт:
45,184Активность: |
каждому юниту через сэт ко прилепливай что надо
CoreName() возращает строку с именем кеша, это для удобного импорта
функция вида ничего не берёт возращает строку |
14.02.2007, 16:42 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DeT
offline
Опыт:
5,715Активность: |
DioD
вот такой код будет работать? set udg_I='<value>' SetHandleInt(udg_Unit,"type",udg_I) set udg_I='<new value>' причем <new value> != <value> что будет у юнита в "type" ?? |
14.02.2007, 17:07 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
NETRAT
offline
Опыт:
83,762Активность: |
DeT а что делает функция SetHandleInt???
то и будет что присвоишь |
14.02.2007, 18:32 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
DeT
offline
Опыт:
5,715Активность: |
Все равно...там мона многочего наворотить...се...топик мона зыкрвать, всем спасибо |
14.02.2007, 18:37 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|