|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
Antonariyбыло придумано SetНе, не так... На самом деле, простое "присваивание" в бейсике имеет слово-префикс, это слово Let . Просто большинство диалектов языка допускает возможность отсутствия Let при присваивания значения переменной (а не объекту). Ну и слово Set , на самом деле, занимается не "перезаписью" одного объекта в другой, а записывает указатель на объект... А свойства по умолчанию у объекта может и не быть. Вернее, оно может быть не назначено - что во всей красе видит юзер, когда начинает работать с классами. Вот именно там в VBA существуют все три процедуры: Property Let, Get и Set. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 15:31 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
AndreTMНе, не так...Не спорь, это слова одного из разработчиков VB. Правда я их не договорил, поясню на примере. Без Set компилятор не знает, что делать в такой ситуации: Код: vbnet 1. 2.
Допустим, SomeProp(z) возвращает объект SomeObj, имеющий свойство по умолчанию. Вопрос: что вернуть в x, ссылку на SomeObj или значение свойства по умолчанию? Set x = y.SomeProp(z) не оставляет сомнений. На этот случай даже вроде ошибка есть: или используйте Set или укажите свойство. В дотнете свойствами по умолчанию могут быть только свойства с параметрами, поэтому от Set избавились, y.SomeProp(z) всегда вернет SomeObj. А смысл свойства по умолчанию теперь такой: x = y(z) AndreTMНу и слово Set, на самом деле, занимается не "перезаписью" одного объекта в другой, а записывает указатель на объект...А мужики-то не знали! AndreTMА свойства по умолчанию у объекта может и не быть.Что характерно, в синтаксисе VB нет способа его объявить, однако это умеет делать Class Builder Utility. Если посмотреть на результат ее деятельности в блокноте, то можно увидеть такую строку: Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 16:17 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
AntonariyБез Set компилятор не знает, что делать в такой ситуации:Хотя тут он все знает, наврал я. Не помню правильную ситуацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 16:24 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
AntonariyА мужики-то не знали! Я сам пост никак не тебе адресовал... AntonariyНе помню правильную ситуациюВроде как такая: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 17:18 |
|
|
start [/forum/topic.php?fid=60&gotonew=1&tid=2156153]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
64ms |
get topic data: |
10ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 306ms |
total: | 474ms |
0 / 0 |