Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
Народ, что-то я туплю вопрос: Есть класс Class1, в котором куча properties (prop1, prop2,.... propN), среди которых есть и объекты и коллекции Есть некое начальное состояние properties. Я создаю 2 экземпляра класса: Код: plaintext 1. Далее заполняю properties объекта ObjInit. По сути объект ObjInit - это начальное состояние объекта ObjProc. Далее я работаю в циклах с "рабочим" экземпляром ObjProc. Т.е. объект ObjProc должен в начале каждой итерации быть эквивалентным ObjInit. Т.е. что-то типа Код: plaintext 1. 2. 3. 4. 5. но в таком случае я просто ссылаюсь на ObjInit и в итоге изменяются оба объекта. Как можно хранить отдельный экземпляр класса (начальное состояние объекта) - и в начале каждой итерации "инициализировать" экземпляр ObjProc? Сории, если путанно сформулировал... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2010, 16:42 |
|
||
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
только заполнив все соответствующие properties , простым присвоением вы тут ничего не сделаете. пишите метод Init в своём классе (где все начальные значения присваиваете) и в событие Initialize его вызывайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2010, 16:45 |
|
||
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
powerbot, Просто вы неверно сформулировали. Вам надо не присвоить, а создать еще один экземпляр как копию первого. Обычно, если есть такая необходимость, это делается как метод самого класса. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2010, 17:31 |
|
||
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
Konst_One, Shocker.Pro Да, я это понимаю. Но это опять же заполнение всех пропертис до начального состояния. А у меня в Class1 свойствами являются и объекты и классы и коллекции. И тогда я довольно прилично теряю в быстродействии - т.е. во главе угла в моей задаче - быстродействие. Т.е. нельзя как нибудь сделать а-ля CopyMemory чтобы один экземпляр Class1 стал идентичным другому экземпляру??? Если нет, то это жесть конечно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2010, 18:16 |
|
||
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
powerbotДа, я это понимаю. Если бы вы сочли нужным быть зарегистрированным пользователем, по количеству постов и вашим темам можно было бы понять вашу квалификацию и не давать дурацких советов. :) сорри, на ваш вопрос ответ лично я не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2010, 18:24 |
|
||
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, прошу прощения если был не точен в формулировках. Попытаюсь еще раз максимально четко и упрощенно: Можно ли в VB6 получить СКОПИРОВАТЬ объект (экземпляр класса) в другой объект? Т.е. не новый "пустой" экземпляр класса: Код: plaintext и не ссылку на другой экземпляр: Код: plaintext а именно КОПИЮ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2010, 18:46 |
|
||
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
Нельзя. Но можно максимально упростить: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2010, 23:59 |
|
||
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
А, там еще и объекты… Тогда просто нельзя. А вообще объекты не берутся сами собой из воздуха, поэтому нужно тупо написать процедуру, которая создает новый объект шаг за шагом из параметров по умолчанию. По скорости это будет самый выигрышный вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 00:07 |
|
||
|
Присвоить один экземпляр класса другому
|
|||
|---|---|---|---|
|
#18+
Хотя есть еще вариант: хранить все значения пропертей не в локальных переменных, а локальном рекордсете, у которого есть метод Clone. Или в XML-объекте. В общем, каком-то хранилище, которое умеет само себя быстро копировать. Кстати обнаружил, что в рекордсете с полями Key и Value, отсортированном по Key, поиск значения по ключу происходит быстрее, чем в классической коллекции. Полезно для статических наборов данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2010, 00:28 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36913057&tid=2159332]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 258ms |
| total: | 375ms |

| 0 / 0 |
