1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
Скачал я себе ГНАТ (Gnat GPL(без исходников, поленился все ссылки тыкать) и Win32Ada. Скопировал я для начала в редактор кода текст из Википедии:
with Ada.Text_IO;
procedure Hello is use Ada.Text_IO; begin Put_Line("Hello, world!"); end Hello.
Нажимаю "проверка синтаксиса".
[2011-01-18 21:32:02] Could not determine the project for file: C:\ADA\projects\Test\test.gpr [2011-01-18 21:32:02] Invalid context, cannot build
В общем, я так понял, я пока с какими-то настройками не разобрался, что делать? Заметил, что можно копировать сообщения об ошибках в буфер обмена. Ещё, что функцию можно свернуть. После каждого сворачивания/разворачивания в конец добавляется пустая строчка (баг, есть таблетка?). В настройках цвета не нашёл отдельного цвета для символов. Мне нравится, когда скобочки и запятые коричневые, а не чёрные.
Чтоб среда не ругалась на кириллицу, я себе переключил в настройках IDE Character Set в "Unicode UTF-8". Ну, или с кодировкой отдельно взятых файлов поиграйся (правой кнопкой мыши в редакторе -> Properties)
Цитата
Я не смог определить оператор ":=>[]"
А тут вообще ничего нельзя определить. Можно только переопределить. Это большая разница.
Цитата
Не понял константу Standard'Maximum_Alignment (не нашёл описание).
Странно. У Гаввы на 387 странице есть описание:
Цитата
Standard’Maximum_Alignment где Standard — единственно возможный префикс. Предоставляет максимальное пригодное значение выравнивания для целевой платформы. Это статическое значение которое может быть использовано для указания требуемого выравнивания объектов. При этом во всех случаях будет гарантироваться правильность выравнивания объектов Это может быть полезно при импортировании внешних объектов, когда требования для их выравнивания не известны.
Цитата
Ещё не получилось сделать так:
Где именно ты пытаешься описывать KeyArr? Внутри пакета? Или снаружи? Или это у тебя вообще не пакет?
Цитата
Ещё я не понял, чем отличается access от access all
Тип access позволяет тебе ссылаться только на объекты, размещенные в динамической памяти. Обратиться к статической переменной ты через него не сможешь. То есть, смотри:
procedure Main is type Int_Ptr is access Integer; type Int_Ref is access all Integer;
AI : aliased Integer; -- косвенно доступная переменная. Статическая !!! P_Ptr : Int_Ptr; P_Ref : Int_Ref; begin -- попробуем получить ссылку на AI через Int_Ptr P_Ptr := AI'Access; -- Облом: access - только для дин. переменных
-- А теперь ссылку на AI через access all ? P_Ref := AI'Access; -- Все нормально, ошибки нет...