|
Динамическое создание переменных. Возможно ли? | ☑ | ||
---|---|---|---|---|
0
YF
19.01.12
✎
16:05
|
Возможно ли в модуле в определенной процедуре создать переменные модуля?
Например в модуле формы в ПриОткрытии создать переменную модуля с именем МояПеременная? Т.е. как будто бы написать в разделе переменных Перем МояПеременная. |
|||
1
Морозов Александр
19.01.12
✎
16:06
|
нафиг?
|
|||
2
alex-pro
19.01.12
✎
16:06
|
Выполнить()
? |
|||
3
YF
19.01.12
✎
16:06
|
(1) Интересно просто ...
(2) И что? |
|||
4
alex-pro
19.01.12
✎
16:07
|
(3)
Ну там же можно написать Переменная1 = "Значение"; Вот и создал)))) |
|||
5
YF
19.01.12
✎
16:07
|
(4) И как ее увидеть из другой процедуры?
|
|||
6
Shurjk
19.01.12
✎
16:08
|
Сделай соответствие и наполняй его как угодно.
|
|||
7
Ненавижу 1С
гуру
19.01.12
✎
16:08
|
(6) лучше Структура
|
|||
8
Beduin
19.01.12
✎
16:09
|
(5) Кого? Функцию?
|
|||
9
Shurjk
19.01.12
✎
16:09
|
(7) Чем лучше?
Вроде как ему переменная произвольного типа нужна. |
|||
10
YF
19.01.12
✎
16:09
|
(6) Да я конкретный вопрос в (0) задал. У меня полоска даже больше твоей :-) => я знаю как организовать возможность хранения"списка" переменных с неизвестными заранее именами ...
|
|||
11
YF
19.01.12
✎
16:10
|
(8) Переменную. Читал (0)?
|
|||
12
Ненавижу 1С
гуру
19.01.12
✎
16:11
|
(9) вроде как в структурах ограничение только на Ключ
|
|||
13
Ахиллес
19.01.12
✎
16:12
|
(10) В таком случае ответ - НЕЛЬЗЯ.
|
|||
14
YF
19.01.12
✎
16:13
|
(13) печалька :-(
|
|||
15
jsmith82
19.01.12
✎
16:13
|
а какова твоя задача, автор
|
|||
16
Shurjk
19.01.12
✎
16:14
|
(10) А чего тогда спрашиваешь:)
|
|||
17
YF
19.01.12
✎
16:14
|
(15) Только то, что указано в (0)
|
|||
18
Beduin
19.01.12
✎
16:14
|
(14) При чем нигде нельзя. Не только в 1С.
|
|||
19
Inform
19.01.12
✎
16:14
|
(14) компилятор в 1С - однопроходный, не выйдет
|
|||
20
YF
19.01.12
✎
16:14
|
(16) Я не знаю ответ на вопрос в (0), вот и спрашиваю
|
|||
21
jsmith82
19.01.12
✎
16:14
|
такое невозможно ни в одном языке ни в одной платформе
|
|||
22
YF
19.01.12
✎
16:15
|
(18) Да у меня есть такое подозрение ибо модуль скомпилится еще до выполнения процедуры ...
|
|||
23
Ахиллес
19.01.12
✎
16:15
|
(15) Когда коту заняться нечем, он яйца лижет :-)
|
|||
24
jsmith82
19.01.12
✎
16:15
|
ну ты же тут хвастался полоской. вот я не могу понять, ладно бы, если бы это можно было где-нибудь сделать
вопрос какой-то логически противоречивый, даже не технический, а философский |
|||
25
YF
19.01.12
✎
16:15
|
(23) Мне не достать :-D
|
|||
26
YF
19.01.12
✎
16:16
|
(24) Он и есть
|
|||
27
alex-pro
19.01.12
✎
16:17
|
(22)
Можно загрузить модуль из файла на ходу... в 7.7 так было. А этот файл опять-таки на ходу написать))))) |
|||
28
Beduin
19.01.12
✎
16:17
|
(22) В нормальных компиляторах и интерпритаторах переменные процедуры живут только в теле этой процедуры и доступны лишь через обращения к ней в виде возвращаемых параметров.
|
|||
29
Beduin
19.01.12
✎
16:18
|
(27) Я в одном месте видел больше 500 таких файлов)
|
|||
30
Sonny
19.01.12
✎
16:18
|
Однажды модули научатся программировать себя сами и вы все будете искать работу. Автора сжечь, как еретика, а то ведь накликает.
|
|||
31
YF
19.01.12
✎
16:18
|
(28) Я знаю
|
|||
32
jsmith82
19.01.12
✎
16:26
|
переменная модуля имеет следующие возможности:
обращение локально this["x"] или из другого модуля that["x"] судя по задаче, автор хочет в процессе run-time получить возможность выполнить куски кода this["x"] или that["x"] возможности использования именованных областей памяти определяются кодом с последующей компиляцией поэтому задача может быть решена только перекомпиляцией модуля с последующим его линкованием 1с этого не умеет |
|||
33
orefkov
19.01.12
✎
16:41
|
(21)
Ошибаетесь. В JScript переменные на-лету влет создаются! |
|||
34
orefkov
19.01.12
✎
16:43
|
+(33)
И даже не только переменные, но и функции. |
|||
35
Shurjk
19.01.12
✎
16:47
|
(33) И как же?
|
|||
36
orefkov
19.01.12
✎
16:50
|
(35)
eval("myNewGlobalVar = undefined") eval("function myNewFunction(a, b){return a + b}") После этого и переменная, и функция доступны в коде. |
|||
37
pumbaEO
19.01.12
✎
16:52
|
python тоже это умеет, но там это через импорт модуля сделано.
|
|||
38
Shurjk
19.01.12
✎
16:56
|
(36) Аналогичное и в 1с есть - выполнить называется:)
|
|||
39
orefkov
19.01.12
✎
17:02
|
(38)
И что, после Выполнить переменная модуля появиться? Ты этот на коленке сделанный русский бэйсик с могучим JavaScript не сравнивай :) |
|||
40
Shurjk
19.01.12
✎
17:04
|
(39) В могучем джава скрипте то же переменная появиться только в рамках того объекта где будет выполнен это eval.
А насчет бэйсика зря ты так нынешний VB JS заткнет только в путь. |
|||
41
orefkov
19.01.12
✎
17:05
|
(40)
Ой ли? Ответишь за eval? |
|||
42
Shurjk
19.01.12
✎
17:06
|
(41) Еще скажи что в js есть глобальный модуль:)
|
|||
43
Murzz
19.01.12
✎
17:07
|
структуру делай и динамически пихай в нее что хочешь.
|
|||
44
orefkov
19.01.12
✎
17:08
|
(42)
Модуля глобального нет, а вот глобальный контекст - есть. |
|||
45
Shurjk
19.01.12
✎
17:13
|
(44) Да ну насколько помнб минимальная еденица в джаве это объект.
|
|||
46
Shurjk
19.01.12
✎
17:14
|
(43) Ты не имеешь права ему такого советовать - у него полоска длиннее твоей:)
|
|||
47
Murzz
19.01.12
✎
17:41
|
(46) а я насчет длины не комплексую
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |