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

Какие-то ошибки странные...

тут можно задать вопрос по скриптингу
Post Reply
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Какие-то ошибки странные...

Post 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.При необходимости могу выслать лог.
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Не соответствие типов. В 49 строке. В 686 позиции!?! Либо у тебя в скрипте реально такая длинная строка, либо ты в редакторе скриптов случайно в эту позицию воткнул случайный символ, который и дает такую ошибку.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post 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 с Едредовской ходлки

Code: Select all

         if dy > dx then dx := dy; 

тут банально нету несовместимых переменных...
Last edited by Vizit0r on 21.01.2007 21:20, edited 1 time in total.
DoomStar
Posts: 6
Joined: 19.01.2007 0:58

Post by DoomStar »

А у тебя комп ваще нормально работает? не перегревается ли :)

попробуй ходилку ещё раз с форума скопировать, может реально какойто мега извратский символ в файлике со скриптом.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

с компом все отлично, другие скрипты и все осстальное - гоняют отлично
в процессе перепроверки всего чего только можно было
возник вопрос

P.S. вопрос отпал, ковыряю дальше...
CFA
Developer
Developer
Posts: 492
Joined: 20.04.2006 6:03
Contact:

Re: Какие-то ошибки странные...

Post 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, при работе с динамическими массивами. отлову поддаеться с трудом, тк не всегда понятно где искать, приходится добавлять отладочные сообщения в подозрительных местах.
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post 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;
Edred
Moderator
Moderator
Posts: 559
Joined: 28.03.2006 21:29

Post by Edred »

Нормально. Естественно.

Code: Select all

arr: Array[0..100] of Cardinal]
То есть переменная arr, тип Array[0..100] of Cardinal. Найди в мне в руководстве по Паскалю тип переменных "Array[0..100] of Cardinal".
User avatar
Vizit0r
Developer
Developer
Posts: 3958
Joined: 24.03.2005 17:05
Contact:

Post by Vizit0r »

не очень понял, тип Array [0..n] of _тип_ - в паскале есть.

что тогда не так?
Acronym
Novice
Novice
Posts: 114
Joined: 10.05.2005 18:42
Location: Odessa, NDW
Contact:

Post by Acronym »

Визя, тут кстати в твоем посте лишняя скоба Cardinal]
aka Trickster [YGG]
current version: 1.0 [RC3]
Miralex
Developer
Developer
Posts: 656
Joined: 11.03.2005 19:12
Contact:

Post by Miralex »

Вообщем поделю я вас. Суть в том, что Pascal Scripts "сложные" типы данных считает разными, если они не объявленные в начале программы через type. В данном случае Array[0..100] of Cardinal для него "сложный" тип и надо использовать так:

Code: Select all

type
MyArray = Array[0..100] of Cardinal;
var MyValue : MyArray;
и тд ...
Post Reply