Страница 1 из 1

Не получается выполнить команду Run Command.

Добавлено: 21 ноя 2013, 11:17
sysrepos
Не получается выполнить команду Run Command.
значение стиля символа хранятся в текстовой переменной.
нужно это полученное значение присвоить переменной типа symbol
делаю так:

Код: Выделить всё

Sub  proc1
dim sym_n as symbol 'переменная типа symbol 
dim str as string   'строка, в которой храниться значение символа
dim rcm as string   'строка для выполнения в RunCommand

str="symbol(34, 16711680, 6)"

rcm="sym_n=make"+str  'строка для выполнения в RunCommand (если ее выполнять без RunCommand, то работает правильно)
note rcm 'получается строка sym_n=makesymbol(34, 16711680, 6)
Run Command rcm
End Sub
компилируется, но выдает ошибку в мапинфо "Переменная sym_n не определена"

Как присовить переменной sym_n значение, если оно храниться в текстовой переменной?
может это можно сделать без Run Command? если да, то как?

Re: Не получается выполнить команду Run Command.

Добавлено: 21 ноя 2013, 11:48
ginpetr
в выполняемом этим оператором тексте не должно быть имен переменных. Придется поломать голову :-)
Кажется я разбирал стиль на части с помощью
StyleAttr( style, attribute )
а потом собирал с помощью
MakeBrush( ) function, MakeFont( ) function, MakePen( ) function, MakeSymbol( ) function

Re: Не получается выполнить команду Run Command.

Добавлено: 22 ноя 2013, 06:31
Sibit
А и не выйдет. Переменная действительно невидима для RunCommand. Можно распарсить строку str. Разобрать ее на 3 значения и подсунуть ее в MakeSymbol.
А как значения стиля попадают в строку? Может проще хранить сами параметры стиля в переменных?

PS если уж совсем никак по-другому:

Код: Выделить всё

	str="symbol(34, 16711680, 6)"
	rcm = "Set Style Symbol Make" + str
	print rcm 
	Run Command rcm
	sym_n = CurrentSymbol()

Re: Не получается выполнить команду Run Command.

Добавлено: 22 ноя 2013, 09:50
sysrepos
Спасибо Sibit, то что нужно