Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

помогите с синтаксисом

тут можно задать вопрос по скриптингу
Post Reply
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

помогите с синтаксисом

Post by untoha »

1 год ничего не делали со стелсом, вернулся, тут новая версия 7.9.0.
обновился, но то, что раньше работало как часы, теперь выдает ошибки на старте. сижу адаптирую код под новую версию

Code: Select all

program testprogram;
var testarr: array[1..7] of integer;

procedure testproc();
var test : integer;
begin	
	test := Length(testarr);	// <<< 7 line error
end;

begin  	
end.  
Compiler: [Error] (test.sc at 7:24): There is no overloaded version of "length" that can be called with these arguments ;

что не так с глобальным массивом testarr, почему он не нравится length? вроде никаких перегрузок, в length либо стринг либо массив же
спасибо создатель, я твой должник!
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: помогите с синтаксисом

Post by untoha »

видимо лучше использовать high()
спасибо создатель, я твой должник!
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: помогите с синтаксисом

Post by untoha »

после массовой замены Length( на High( не в приведенном примере, а в старой тонне кода, теперь вылезает окно с ошибкой и предложением ковырятся в ассемблеме, который я ненавижу
Image
спасибо создатель, я твой должник!
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: помогите с синтаксисом

Post by Vizit0r »

странно, мда.
Исправлю.

Насчет "после массовой замены Length( на High( не в приведенном примере, а в старой тонне кода"
пример покажи куска скрипта.


видимо зло в том, что
High(XXX) равно Length(XXX)-1
и где-то эта разница у тебя сыграла.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: помогите с синтаксисом

Post by Vizit0r »

исправил, сегодня ночью выложу в апдейт.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: помогите с синтаксисом

Post by untoha »

ошибки поправил, вроде все норм с high(array)
т.е. length(array) не так уж прям критично

отдельное спасибо за evSetGlobalVar, мне пригодится, буду юзать
спасибо создатель, я твой должник!
untoha
Novice
Novice
Posts: 51
Joined: 16.03.2013 17:21

Re: помогите с синтаксисом

Post by untoha »

присваивание массива тоже крашит, можно поэлементно, но было так удобно

Code: Select all

program testprogram;
var testarr: array[1..7] of integer;
var testarr2: array[1..7] of integer;
begin  
	testarr[1] := 123;
	testarr := testarr2;	
end.  
Exec: [Error] (test.sc at line 24). Pax Unhandled Exception : Invalid class typecast
Error line is: " testarr := testarr2; "
спасибо создатель, я твой должник!
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Re: помогите с синтаксисом

Post by Vizit0r »

исправлено. Как обычно - чинили одно, а зацепило совсем другое и в другом месте.

Через час будет апдейт стелса.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".
Post Reply