Page 1 of 1
Какие-то ошибки странные...
Posted: 21.01.2007 18:32
by Vizit0r
Code: Select all
18:31:37 [Kraggash]: Character Ze Kraggash Connected.
18:31:39 [Kraggash]: Compiling
18:31:40 [Kraggash]: Compiled succesfully
18:31:40 [Kraggash]: Type Mismatch at 49.686
18:31:40 [Kraggash]: Script custom stoped successfuly
что это вообще такое?
Что характерно, на маге запустилось пару раз без ошибок - т.е. скрипт висел в памяти.
Потом я зашел крафтом, под которого и писался скрипт - и все, пошла эта ошибка, теперь и на маге не запускается...
P.S.При необходимости могу выслать лог.
Posted: 21.01.2007 21:04
by Edred
Не соответствие типов. В 49 строке. В 686 позиции!?! Либо у тебя в скрипте реально такая длинная строка, либо ты в редакторе скриптов случайно в эту позицию воткнул случайный символ, который и дает такую ошибку.
Posted: 21.01.2007 21:17
by Vizit0r
Когда ошибка - сообщения другие
вот пример разрыва слова then в той же строке
Code: Select all
21:17:25 [Kraggash]: Compiling
21:17:25 [Kraggash]: Compiler: [Error] (сбор регов at 49:21): 'THEN' expected
21:17:25 [Kraggash]: Compiling failed
21:17:25 [Kraggash]: Script сбор регов stoped successfuly
P.S. В строке гарантированно 36 симоволов, проверено.
кстати, строка эта 49 с Едредовской ходлки
тут банально нету несовместимых переменных...
Posted: 21.01.2007 22:38
by DoomStar
А у тебя комп ваще нормально работает? не перегревается ли
попробуй ходилку ещё раз с форума скопировать, может реально какойто мега извратский символ в файлике со скриптом.
Posted: 21.01.2007 22:56
by Vizit0r
с компом все отлично, другие скрипты и все осстальное - гоняют отлично
в процессе перепроверки всего чего только можно было
возник вопрос
P.S. вопрос отпал, ковыряю дальше...
Re: Какие-то ошибки странные...
Posted: 22.01.2007 8:44
by CFA
Vizit0r wrote:Code: Select all
18:31:37 [Kraggash]: Character Ze Kraggash Connected.
18:31:39 [Kraggash]: Compiling
18:31:40 [Kraggash]: Compiled succesfully
18:31:40 [Kraggash]: Type Mismatch at 49.686
18:31:40 [Kraggash]: Script custom stoped successfuly
что это вообще такое?
это не номер строки, а непонятно что. такая ошибка возникала при работае например с не(правильно)инициализированным TStringList, при работе с динамическими массивами. отлову поддаеться с трудом, тк не всегда понятно где искать, приходится добавлять отладочные сообщения в подозрительных местах.
Posted: 23.01.2007 9:39
by Vizit0r
суть ошибки была такова
вот принцип, который был изначально
Code: Select all
program test;
...
procedure a;
var
abc : Array[0..100] of Cardinal];
begin
....
if ... then b(abc);
...
end;
procedure b(arr: Array[0..100] of Cardinal]);
begin
...
// тут идет работа с массивом
end;
при вызове процедуры b - появляется вот та самая неизвестная ошибка.
вот вариант правильный:
Code: Select all
program test;
type
ArrayType = Array[0..100] of Cardinal;
...
procedure a;
var
abc : ArrayType;
begin
....
if ... then b(abc);
...
end;
procedure b(arr: ArrayType);
begin
...
//тут идет работа с массивом
end;
Posted: 24.01.2007 0:45
by Edred
Нормально. Естественно.
То есть переменная arr, тип Array[0..100] of Cardinal. Найди в мне в руководстве по Паскалю тип переменных "Array[0..100] of Cardinal".
Posted: 24.01.2007 10:11
by Vizit0r
не очень понял, тип Array [0..n] of _тип_ - в паскале есть.
что тогда не так?
Posted: 24.01.2007 16:56
by Acronym
Визя, тут кстати в твоем посте лишняя скоба Cardinal]
Posted: 24.01.2007 17:09
by Miralex
Вообщем поделю я вас. Суть в том, что Pascal Scripts "сложные" типы данных считает разными, если они не объявленные в начале программы через type. В данном случае Array[0..100] of Cardinal для него "сложный" тип и надо использовать так:
Code: Select all
type
MyArray = Array[0..100] of Cardinal;
var MyValue : MyArray;
и тд ...