Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
Инклюды,в чём подвох?
Инклюды,в чём подвох?
Добрый вечер,будьте добры разъсните в чём проблема...всё установил и настроил....но многие скрипты незапускаются..ругаются на это:
Compiler: [Error] (KAP.txt at 12:11): Duplicate identifier 'FULLDISCONNECT'
Compiling failed
ещё на Чексэйв и Хангри....мол типа ненаходит инклюды ?но у меня все инклюды сохранены и я немогу понять что не так...помоему на ранних версиях стелс этого не было...направьте в правильное русло,заранее благодарен.
Compiler: [Error] (KAP.txt at 12:11): Duplicate identifier 'FULLDISCONNECT'
Compiling failed
ещё на Чексэйв и Хангри....мол типа ненаходит инклюды ?но у меня все инклюды сохранены и я немогу понять что не так...помоему на ранних версиях стелс этого не было...направьте в правильное русло,заранее благодарен.
Re: Инклюды,в чём подвох?
Duplicate значит встречается 2 раза - один и тот же инклюд подключен дважды.
Re: Инклюды,в чём подвох?
Благодарю за подсказку,но как подключен 2ды? почти неодин скрипт незапускается из-за этих ошибок....папка с инклюдами одна,одинаковых инклюдов нет,в чём подвох так и не понял...как разрешить?CFA wrote:Duplicate значит встречается 2 раза - один и тот же инклюд подключен дважды.
С Уважением.
Приходится убирать все проверки чтоб запустить что-то...
смотри:
at 12:11): Duplicate identifier 'FULLDISCONNECT'
это значит что на 12 строчке у тебя либо процедура(функция) либо переменная(константа) с именем фуллдисконнект. Ошибка значит, что где-то ДО этого уже объявлена такая штука.
Конечно, если бы ты показал скрипт было бы попроще чуть-чуть, но попробуем разобраться так.
Возможно либо ты делаешь что-то вроде такого
{$Include 'all.inc'} Здесь у тебя уже имеется нижняя строчка
{$Include 'connection.inc'} здесь у тебя fulldisconnect
Либо у тебя есть такая штука в инклюде:
procedure fulldisconnect;
begin ... end;
А потом в скрипте ты делаешь что-то вроде:
var
fulldicsonnect:boolean;
как- то так.
at 12:11): Duplicate identifier 'FULLDISCONNECT'
это значит что на 12 строчке у тебя либо процедура(функция) либо переменная(константа) с именем фуллдисконнект. Ошибка значит, что где-то ДО этого уже объявлена такая штука.
Конечно, если бы ты показал скрипт было бы попроще чуть-чуть, но попробуем разобраться так.
Возможно либо ты делаешь что-то вроде такого
{$Include 'all.inc'} Здесь у тебя уже имеется нижняя строчка
{$Include 'connection.inc'} здесь у тебя fulldisconnect
Либо у тебя есть такая штука в инклюде:
procedure fulldisconnect;
begin ... end;
А потом в скрипте ты делаешь что-то вроде:
var
fulldicsonnect:boolean;
как- то так.
Вот начало скрипта,повторений нет там..да дело не в скрипте...любой скрипт,где есть проверки на сейв,чекдед и т.д выдаёт мне ошибки,тоесть любой идеальный скрипт с нормальными проверками если запустить у меня ругается )))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;
bugger wrote:Попробуй вырезать эту процедуру и в теле программы где-нибудь её вызвать. То есть теоретически у тебя будет либо полный дисконнект либо эксепшн.
Вырезал это и запустил,но почему с процедурой не работает,вернее конфликтует...значит проблема в версии стелса...,procedure FullDisconnect;
begin
SetARStatus(false);
Disconnect;
end;
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.
Last edited by bugger on 13.02.2011 20:44, edited 1 time in total.
Я имею ввиду вырезать не проверку, а процедуру. Потому что есть 2 варианта: либо процедура у тебя где-то в инклюде и ты просто забыл о ней, либо в сам клиент вшита эта процедура.PuM wrote:Конечно работает,я и раньше вырезал все проверки и работало,меня озадачило именно то,что с процедурой нехочет,а по чему - ХЗbugger 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
хм ты меня чутка не так понял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, а есть место где ты её вызываешь. Суть моего совета заключалась в том, что компилятор ругается на повторяющийся идентификатор, значит мы должны проверить, кто неправ ты или программа.
Для этого мы должны взять и удалить нашу процедуру из кода и насильно вызвать метод фуллдисконнекта. И смотрим что происходит. Либо прога не компилируется из-за какого-то глюка, либо ура-ура. Если неправ компилятор, значит ты молодец и это баг, и значиит у тебя нет другой такой процедуры. Иначе где-то в коде или инклюдах у тебя есть ещё такая же процедура.