Page 1 of 2

Инклюды,в чём подвох?

Posted: 12.02.2011 23:37
by PuM
Добрый вечер,будьте добры разъсните в чём проблема...всё установил и настроил....но многие скрипты незапускаются..ругаются на это:
Compiler: [Error] (KAP.txt at 12:11): Duplicate identifier 'FULLDISCONNECT'
Compiling failed

ещё на Чексэйв и Хангри....мол типа ненаходит инклюды ?но у меня все инклюды сохранены и я немогу понять что не так...помоему на ранних версиях стелс этого не было...направьте в правильное русло,заранее благодарен.

Re: Инклюды,в чём подвох?

Posted: 13.02.2011 7:32
by CFA
Duplicate значит встречается 2 раза - один и тот же инклюд подключен дважды.

Re: Инклюды,в чём подвох?

Posted: 13.02.2011 12:40
by PuM
CFA wrote:Duplicate значит встречается 2 раза - один и тот же инклюд подключен дважды.
Благодарю за подсказку,но как подключен 2ды? почти неодин скрипт незапускается из-за этих ошибок....папка с инклюдами одна,одинаковых инклюдов нет,в чём подвох так и не понял...как разрешить?
С Уважением.

Приходится убирать все проверки чтоб запустить что-то...

Posted: 13.02.2011 12:45
by bugger
сделай ctrl+f на FULLDISCONNECT
для скрипта и всех инклюдов. Также возможно у тебя сделано 2 инклюда подряд.

Posted: 13.02.2011 13:01
by PuM
та делал уже всё на свете,вот как только поставил так и проблема эта,раньше на старых версиях(когда играл раньше) никогда не сталкивался

Posted: 13.02.2011 16:34
by PuM
Тут уже дело чести,понять в чём прикол..! или стелс тупо травит с меня ахах.Надеюсь вместе разгадаем ребус

Posted: 13.02.2011 19:08
by bugger
смотри:

at 12:11): Duplicate identifier 'FULLDISCONNECT'
это значит что на 12 строчке у тебя либо процедура(функция) либо переменная(константа) с именем фуллдисконнект. Ошибка значит, что где-то ДО этого уже объявлена такая штука.

Конечно, если бы ты показал скрипт было бы попроще чуть-чуть, но попробуем разобраться так.

Возможно либо ты делаешь что-то вроде такого
{$Include 'all.inc'} Здесь у тебя уже имеется нижняя строчка
{$Include 'connection.inc'} здесь у тебя fulldisconnect

Либо у тебя есть такая штука в инклюде:

procedure fulldisconnect;
begin ... end;
А потом в скрипте ты делаешь что-то вроде:
var
fulldicsonnect:boolean;

как- то так.

Posted: 13.02.2011 19:34
by PuM
Program carpentry;
var
TwoTarget,ItemCostWood,ItemCostTwoMaterial,TotalWoods,TotalTwoMaterial,i: integer;
stime : TDateTime;
Trash,TempWoods,TempTwoMaterial : cardinal;
TwoMaterialType,WoodType,ItemType,ToolType : word;
ItemGump:string;

{$Include 'all.inc'}


procedure FullDisconnect;
begin
SetARStatus(false);
Disconnect;
end;
Вот начало скрипта,повторений нет там..да дело не в скрипте...любой скрипт,где есть проверки на сейв,чекдед и т.д выдаёт мне ошибки,тоесть любой идеальный скрипт с нормальными проверками если запустить у меня ругается )))

Posted: 13.02.2011 19:44
by bugger
Попробуй вырезать эту процедуру и в теле программы где-нибудь её вызвать. То есть теоретически у тебя будет либо полный дисконнект либо эксепшн.

Posted: 13.02.2011 20:37
by PuM
bugger wrote:Попробуй вырезать эту процедуру и в теле программы где-нибудь её вызвать. То есть теоретически у тебя будет либо полный дисконнект либо эксепшн.
procedure FullDisconnect;
begin
SetARStatus(false);
Disconnect;
end;
Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует...значит проблема в версии стелса...,
bugger,отдельное спасибо за попытки помощи,буду рубить везде значит,что делать ))) :P

Posted: 13.02.2011 20:41
by bugger
Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует
Запустил ииии? Заработало или нет?

Убежусь, что ты правильно меня понял.

было так:

Code: Select all

program lala;
const
some_const = $354;
var
some_var:Integer;

procedure fulldisconnect;// тут ошибка должна вылезти
begin
setarstatus(false);
disconnect;
end;

begin
if Isdead(self) then fulldisconnect;
end.
я имел ввиду сделать так:

Code: Select all

program lala;
const
some_const = $354;
var
some_var:Integer;


begin
if Isdead(self) then fulldisconnect; //тут либо ошибка, либо все ок
end.

Posted: 13.02.2011 20:43
by PuM
bugger wrote:
Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует
Запустил ииии? Заработало или нет?
Конечно работает,я и раньше вырезал все проверки и работало,меня озадачило именно то,что с процедурой нехочет,а по чему - ХЗ

Posted: 13.02.2011 20:45
by bugger
PuM wrote:
bugger wrote:
Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует
Запустил ииии? Заработало или нет?
Конечно работает,я и раньше вырезал все проверки и работало,меня озадачило именно то,что с процедурой нехочет,а по чему - ХЗ
Я имею ввиду вырезать не проверку, а процедуру. Потому что есть 2 варианта: либо процедура у тебя где-то в инклюде и ты просто забыл о ней, либо в сам клиент вшита эта процедура.
Конечно, возможно ты дельфи программист и заранее её задекларировал, но я сильно сомневаюсь)
Посмотри выше, я показал как должно было быть, отредактировал сообщение.

Posted: 13.02.2011 20:53
by PuM
Неа,процедуру...
если как ты посоветовал сделать,вообще зверская тема выскакивает ахах

Variable 'TWOTARGET' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'ITEMCOSTWOOD' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'ITEMCOSTTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'TOTALWOODS' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'TOTALTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'I' never used
Compiler: [Hint] (KARP.txt at 5:1): Variable 'STIME' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TRASH' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TEMPWOODS' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TEMPTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'TWOMATERIALTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'WOODTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'ITEMTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'TOOLTYPE' never used
Compiler: [Hint] (KARP.txt at 8:1): Variable 'ITEMGUMP' never used

Posted: 13.02.2011 20:59
by bugger
PuM wrote:Неа,процедуру...
если как ты посоветовал сделать,вообще зверская тема выскакивает ахах

Variable 'TWOTARGET' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'ITEMCOSTWOOD' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'ITEMCOSTTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'TOTALWOODS' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'TOTALTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 4:1): Variable 'I' never used
Compiler: [Hint] (KARP.txt at 5:1): Variable 'STIME' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TRASH' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TEMPWOODS' never used
Compiler: [Hint] (KARP.txt at 6:1): Variable 'TEMPTWOMATERIAL' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'TWOMATERIALTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'WOODTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'ITEMTYPE' never used
Compiler: [Hint] (KARP.txt at 7:1): Variable 'TOOLTYPE' never used
Compiler: [Hint] (KARP.txt at 8:1): Variable 'ITEMGUMP' never used
хм ты меня чутка не так понял :)

у тебя в коде, есть процедура fulldisconnect, а есть место где ты её вызываешь. Суть моего совета заключалась в том, что компилятор ругается на повторяющийся идентификатор, значит мы должны проверить, кто неправ ты или программа.
Для этого мы должны взять и удалить нашу процедуру из кода и насильно вызвать метод фуллдисконнекта. И смотрим что происходит. Либо прога не компилируется из-за какого-то глюка, либо ура-ура. Если неправ компилятор, значит ты молодец и это баг, и значиит у тебя нет другой такой процедуры. Иначе где-то в коде или инклюдах у тебя есть ещё такая же процедура.