|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
Переменная объявлена, ей присвоено значение. Но удаление значения происходит с ошибкой. Почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 15:18 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
Назовите переменную другим именем. Вполне вероятно, что имя Name уже существует в контексте текущего объекта как имя свойства или метода. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 15:24 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
А, ну и да, не сразу обратил внимание: у вас Код: vbnet 1.
Что же вы символьной переменной пытаетесь присвоить объектную? И ещё - необязательно делать освобождение переменных, локальных в контексте данной процедуры - интерпретатор их освобождает автоматически. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 15:34 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
AndreTMНазовите переменную другим именем. Вполне вероятно, что имя Name уже существует в контексте текущего объекта как имя свойства или метода. изменил Name на NameF - то же самое, ругается на Nothing. NameF mjkmit не встречается в проекте ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 15:37 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
AndreTMИ ещё - необязательно делать освобождение переменных, локальных в контексте данной процедуры - интерпретатор их освобождает автоматически. то есть не надо очищать? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 15:41 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
надо так Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 15:48 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
Да, не надо очищать при выходе. Если беспокоитесь за память - то принудительно очищать можно только объектные переменные. Или динамические массивы (используя erase). И то, опять же, имеет смысл, если это всё определено глобально... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 15:49 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
AndreTMЕсли беспокоитесь за память - то принудительно очищать можно только объектные переменные. Или динамические массивы (используя erase). И то, опять же, имеет смысл, если это всё определено глобально...понятно, спасибо. Не за память, а например за случай когда из-за ошибки выполнение кода прерывается на половине, переменной присвоено значение, потом опять выполнение возобновляется, а нужно новое значение для переменной, а присвоение (в моём случае) имени файла будет по старому значению. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 15:52 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
interskслучай когда из-за ошибки выполнение кода прерывается на половине, переменной присвоено значение, потом опять выполнение возобновляется, а нужно новое значение для переменнойЭто дело обработчика ошибок, а не основного кода - ведь ситуация нештатная. Изучите заодно использование On Error . ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 16:07 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
а какие есть объектные переменные? если правильно понимаю это например: программы Word, листы Excel... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 16:10 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
interskа какие есть объектные переменные? если правильно понимаю это например: программы Word, листы Excel...например да, но, в принципе, это любой класс, то есть все кроме типов значений (String, Double, Integer и т.п.) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 17:13 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
Если чуть проще, то объект это все, значение чему назначается через оператор Set. Их и надо потом "вычищать", если есть желание. Для объектных переменных внутри цикла(For each wsSh in Worksheets) очистка не имеет смысла, т.к. по завершении цикла они все равно очищаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.10.2014, 17:23 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
interskа какие есть объектные переменные? если правильно понимаю это например: программы Word, листы Excel...мля чоб с 'чего-нибудь' не начать многа чо - ..время жизни ...где и как ... и тд )) заодно глянуть Запретные Слова.... .... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2014, 20:44 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
The_PristЕсли чуть проще, то объект это все, значение чему назначается через оператор Set. а каким данным нужно обязательно присваивать значение через Set ? а не просто через знак = ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 14:14 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
а каким данным нужно обязательно присваивать значение через Set Опять по кругу? Ответ №2 Что же вы символьной переменной пытаетесь присвоить объектную? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 15:53 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
alex77755, всем объектамным переменным всегда обязательно присваивать значение через Set? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 19:53 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
interskобъектамным переменным всегда обязательно присваивать...А вы просто попробуйте присвоить НЕ через set ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 20:29 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
авторвсем объектамным переменным всегда обязательно присваивать значение через Set? да ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 21:17 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
alex77755, понял ) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 21:22 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
AndreTM, не буду ) всё ясно ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 21:22 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
interskAndreTM, не буду ) всё ясно наверно просто не получиться присвоить значение, точнее присвоятся просто "буквы" ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 21:26 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
interskinterskAndreTM, не буду ) всё ясно наверно просто не получиться присвоить значение, точнее присвоятся просто "буквы"Без Set присвоится значение того свойства, которое у объекта по умолчанию (Text для текстбокса, Value для поля и т.п.) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2014, 22:23 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
Shocker.Prointerskпропущено... наверно просто не получиться присвоить значение, точнее присвоятся просто "буквы"Без Set присвоится значение того свойства, которое у объекта по умолчанию (Text для текстбокса, Value для поля и т.п.)Как раз из-за наличия свойств по умолчанию было придумано Set. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 08:07 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#18+
AntonariyShocker.Proпропущено... Без Set присвоится значение того свойства, которое у объекта по умолчанию (Text для текстбокса, Value для поля и т.п.)Как раз из-за наличия свойств по умолчанию было придумано Set.для поддержки ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2014, 08:07 |
|
Ошибка объявленной переменной
|
|||
---|---|---|---|
#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?all=1&fid=60&tid=2156153]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
81ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 301ms |
total: | 483ms |
0 / 0 |