ПредишенСледващото

Видове компилатора съобщения са толкова много, повече от двеста. В тази статия ще разгледаме най-често срещаните. И така, ето ги:

<Что-то1> очаква се, но <Что-то2> намерен. Обикновено това е синтактична грешка. Например, липсващата клип: на отворени скоби повече от затворен. В този случай, на компютърната програма за съставяне на доклад: "") "се очаква, но"; " е намерен ":

Програмиране - това е просто - Delphi компилатора съобщения

Друг често срещан случай на "" END "очаква, но", "намери". Това съобщение може да се издава и в случаите, когато десетичен разделител вместо посочената точка със запетая:

<Имя> не е идентификатор на типа. това <Имя> Това не е име на тип. Тази грешка идва, когато се опитате да декларира променлива тип, и да използва име, което вече е било използвано за нещо друго, както е името на вида. Например, това име вече е обявен за променлива:

Резюме метод трябва да е виртуална или динамичен. Резюме метод трябва да е виртуална или динамичен. Нека да видим защо това не може да бъде обикновен. Да предположим, че ние сме за написването на компютърна игра. Имаме клас TUnit, която има за цел да направи към "малкия човек". Той има тегленето и издишвам, което съответно изобразяват и отстранен от съоръжението на екрана игри. Да предположим, че имаме метод Go, която първоначално причинява метод издишвам, променя позицията си и започва методът на равенство. Решихме да създадем друг клас, например, TAdvancedUnut, която ще изглежда малко по-различно, и ние трябва да го пренапише изготви метод. метод Go не се променя. Предполагам, три пъти, тъй като работата на метод! Ще отида, ако го напусне, тъй като е?

Точно така, ако ние заявяваме, един виртуален метод равенство, методът ще отиде вдясно ще доведе до метода за равенство, и ако не, старите, този, който се изпълнява в TUnit. Сега е ред на абстрактни методи. Представете си, че TUnit - не е пълна степен и само детайла. Ние знаем, че всичките му предци (или почти всички), отидете метод е същият, както и тегленето - различно. В този случай, ние можем да имаме tUnit декларира абстрактен метод реми. Ясно е, че ако ние не я обяви за виртуален или динамичен, а след това всички потомци на този клас ще се наричат ​​несъществуваща метод код реми.

Неопределен претоварен призив към <Имя блока>. Компилаторът не може еднозначно да изберете претоварен блок. Променете настройката. Това съобщение за грешка се появява, когато се опитате да рестартирате процедура или функция с набор от параметри, не е възможно да се направи ясен избор. Така например, по следния начин:

процедура Proba (А: число; б: число = 0); претоварване;
процедура Proba (А: число; б: булева = фалшива); претоварване;


Ако се опитате да го използвате по-късно процедура Proba с един параметър, ще получите следното съобщение:


Всъщност, компютърът знае, където потребителят е имал предвид, когато в строителството

надолу опция umlchaniyu6 дали тя б: число = 0, или б: Булева = неверни.

Задача да ЗА цикъл променлива <Имя>. Определяне на стойността на параметъра за цикъл в контура. Така например, в резултат на техническа грешка два пъти използва името на I в множествена цикъл:

Защото: = 1 до п направи защото: = 1 до m направи.

Трябва да направите това:


Не може да се възложи на / чете имот само за четене / запис само. Стойност задача имот четене / единствено и четат свойства запис / само забранено. Ето един пример дизайн на тази грешка:

Програмиране - това е просто - Delphi компилатора съобщения


Очаква постоянна експресия. В този момент трябва да има постоянен или константен израз като постоянно по дело структура селекция.

Ето един пример за тази грешка:

Постоянно експресия нарушава subrange граници. Изходна стойност на постоянен обхват. Контролът не е завършен. Например, задача компилатор proupstit х: = 4 000000000, където х е цяло число от тип, но Стойностите на х ще бъдат деформирани.

Постоянна или типа на идентификатора очаква. Това отнема името на типа или вида на групата.

Ето един пример за тази грешка:

В Делфи, вида на текста не се прилага правилно, за да го направите:

процедура TForm1.FormCreate (Sender: TObject);
Var MyVar: текстов файл;
започвам

Не може да се компилира употребяван единица <Имя>. Съставяне модул прикрепен <Имя> невъзможно. В секция, има ли посочите файл, че системата не може да се компилира. Причините могат да бъдат много различни, например, в този модул, има някакви други грешки.

Програмиране - това е просто - Delphi компилатора съобщения

Очаква Декларация но <Что-то> намерен. Пропуснати са описание или оператор. Ето един пример за грешката (кауза излишно думата "край" в изграждането на "случай" на):


Програмиране - това е просто - Delphi компилатора съобщения

Свързани статии

Подкрепете проекта - споделете линка, благодаря!