|
|
|
Передать массив в класс по ссылке
|
|||
|---|---|---|---|
|
#18+
Есть форма, которой около 10 лет и на которой несколько десятков тысяч строк кода. На ней есть массив Код: plaintext Создаю класс и хочу манипулировать этим массивом из класса. Передать ссылку ByRef не проблема, но затем надо сохранить ее в приватной переменной класса, чтобы затем различные методы этого класса могли манипулировать этим массивом. Мой класс уже имеет копию подобного массива и есть свойства класса, предоставляющие доступ к нему. Но есть необходимость использовать как встроенный массив, так и внешний. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2009, 14:11 |
|
||
|
Передать массив в класс по ссылке
|
|||
|---|---|---|---|
|
#18+
AndreiNz, Design pattern "visitor". Там конечно ничего про массивы нет :) Это просто даст вам понимание, как работать с экземплярами классов :) По вашему же вопросу - объявите в классе, который работает с массивом переменную типа вызывающего класса, и из вызывающего класса передайте ссылку на самого себя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.02.2009, 04:52 |
|
||
|
Передать массив в класс по ссылке
|
|||
|---|---|---|---|
|
#18+
Я не совсем понял, при чем здесь экземпляры классов, но это не так важно. Дело в том, что тот вариант, о котором вы говорите, я рассматривал. Беда в том, что форма не одна, а несколько и класс (объект этого класса, что бы не смущать вас) хотелось бы использовать на всех формах где в нем есть необходимость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2009, 04:18 |
|
||
|
Передать массив в класс по ссылке
|
|||
|---|---|---|---|
|
#18+
AndreiNz Дело в том, что тот вариант, о котором вы говорите, я рассматривал. Беда в том, что форма не одна, а несколько и класс (объект этого класса, что бы не смущать вас) хотелось бы использовать на всех формах где в нем есть необходимость. Создавайте экземпляры этого класса там, где в нем есть необходимость. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2009, 14:27 |
|
||
|
Передать массив в класс по ссылке
|
|||
|---|---|---|---|
|
#18+
В конечном итоге сделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Если оставить только закомментированную строку, то вылетает VB. А так все работает. Тоесть класс использует внешний массив и манипулирует им вместо своего. Основная идея взята здесь . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 08:43 |
|
||
|
Передать массив в класс по ссылке
|
|||
|---|---|---|---|
|
#18+
SQL_LamerСоздавайте экземпляры этого класса там, где в нем есть необходимость. Если формы разные, то это и разные классы. Поэтому передать их в класс в одном и том же методе не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 09:30 |
|
||
|
Передать массив в класс по ссылке
|
|||
|---|---|---|---|
|
#18+
AndreiNzSQL_LamerСоздавайте экземпляры этого класса там, где в нем есть необходимость. Если формы разные, то это и разные классы. Поэтому передать их в класс в одном и том же методе не получится. Конечно :) Должен быть базовый класс, у которого есть массив, с которым вы хотите работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 21:10 |
|
||
|
Передать массив в класс по ссылке
|
|||
|---|---|---|---|
|
#18+
Вот именно. Тоесть вы предлагете пеоелопатить весь проект. А как там с наследованием в VB, чтобы использовать базовый класс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2009, 21:27 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=35849440&tid=2161292]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
59ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 380ms |

| 0 / 0 |
