Спасибо всем кто откликнулся, но у меня не получается приступить к упражнениям по книге В.Рубанцева “PascalABC . NET Программирование графики на примерах ” . Я не разбираюсь в программировании, поэтому ещё раз извиняюсь если мои вопросы вызовут недоумение.
Я начал с того что у меня не получалось добавить сборку SmallBasicLibrary.dll в программу PascalABC.NET .
Возможно что следующий способ разрешает эту проблему.
Но у меня что-то не получается. После выполнения инструкций из "книги В.Рубанцева” на стр. 21
и стр.22 я запустил программу. В книге сказано что на данном этапе программа ничего не сделает, но я получил следующую ошибку:
После некоторых попыток, я так и не сумел создать т.н. графическое окно как показано в низу страницы 24 (Рис. 1.21.)
Может быть, с этим вопросом Вам лучше обращаться к автору книги? Давайте не будем сбрасывать со счетов, что книга эта была написана не сегодня и даже не вчера: с тех пор произошли определенные изменения и в языке, и в среде программирования, и в .NET-библиотеках, и в операционных системах… Вряд ли остальное сообщество будет в состоянии пытаться прорешать каждую задачу, с которой у Вас возникли (и еще могут возникнуть в дальнейшем) проблемы. Хотя… кто знает?
Не нужно вызывать никаких проектов. Создайте новую программу и поместите в нее следующий код:
unit DrawUnit;
{$reference SmallBasicLibrary.dll}
uses Microsoft.SmallBasic.Library;
type
Draw = class
public
class procedure Prepare();
begin
end;
class procedure Draw();
begin
// GraphicsWindow.Show();
GraphicsWindow.DrawText(10, 10, 'Hello, World!');
GraphicsWindow.DrawText(10, 30, 'Здравствуй, Мир!');
end;
end;
end.
Сохраните программу под именем DrawUnit.pas.
Теперь снова откройте окно для ввода новой программы и наберите там:
Нет, это не способ решения. Это попытка найти минимальный код с которым ошибка воспроизводится. Это необходимо чтоб найти причину ошибки, чтоб её можно было исправить и было понятно как обходить.
Не “что то” а симптомы во всех подробностях.
Разумеется, вы не написали begin перед end. можно только в файлах модулей и библиотек, а вы это делаете в основной программе.
begin-end. программы это точка входа, то - откуда начнётся выполнение. Без неё программа невозможна.
А в книге - этот класс описывается в модуле, вы были невнимательны.
Кстати, чтоб загрузить скриншот - достаточно нажать Ctrl+V в окне ответа, скопировав изображение. Ну или если у вас файл - его можно потянуть и кинуть на окно ответа.
Благодарю за отклики, постараюсь учесть все замечания.
Дело в том что эта и другие похожие книги Рубанцева выложены на сайте PascalABC . net , в самом начале этого года, по согласованию с автором. Исходя из этого я подумал что именно тут надо обратить внимание на проблему и это как раз то самое место где можно получить подсказку.
Без условно, мне никто ничего не должен, но мир не без добрых людей Не сочтите за лесть, но Вы же откликнулись
Написал автору тоже и пригласил его сюда обсудить этот вопрос. Эта книга, кстати, у него на сайте стоит всего 160 руб, обязательно куплю, когда прояснится эта проблема.
Он присутствует на форуме под ником Valery и часто читает написанное.
Сейчас получилось так, что в теме “Проблема с добавлением сборки…” начинается обсуждение совсем уже других вопросов. Это не совсем хорошо, потому что другие люди, у которых может возникнуть аналогичная проблема с классами, могут сюда не зайти, ориентируясь на заголовок. Возможно, @Admin сочтет нужным эту тему переименовать или куда-то перенести.
Вчера установил последнюю сборку паскаля и проверил книжные проекты.
Всё работает.
Здесь нет проблем ни с ОС, ни с паскалем, ни с библиотекой, ни с книгой.
Просто человек решил написать код не так, как в книге а по-своему.
Отсюда и ошибки.
Да, книга не новая, но с тех времён ничего принципиально не изменилось.
При запуске (компиляции) проектов-примеров, которые можно скачать вместе с книгой В.Рубанцева “PascalABC . NET Программирование графики на примерах”,
при помощи PascalABC.NET (версия 3.6.2, сборка 2413 от 16.04.2020) на системе Windows 7 x64
появляется ошибка:
Сборка ‘SmallBasicLibrary.dll’ не найдена
Чтобы от этой ошибки избавиться мне потребовалось добавить в любой из файлов проекта первой строкой:
{$reference SmallBasicLibrary.dll}
а также удалить в Структуре проекта -> Подключенные сборки: SmallBasicLibrary (правой кнопкой мыши -> Удалить)
Соответственно, при выполнении заданий из книги, вместо добавления SmallBasicLibrary.dll в “Подключенные сборки” надо добавить в любой из файлов проекта первой строкой:
{$reference SmallBasicLibrary.dll}
Дело в том, что я давно не брал паскаль в руки, поэтому пока решил освежить свои знания по этому ЯП и библиотекам, которые мне хорошо известны. Это SmallBasicLibrary и LitDev.
Поэтому эта книга только по основам графики. Но я надеюсь, что даже с этими библиотеками можно написать много интересных программ. В общем, это книга больше на перспективу. В ближайших планах - поработать на паскале в разных интересных направлениях.
Библиотеки подключаются без проблем.
Но их приходится копировать в папку с каждым проектом.
Поэтому исходники большие.
Иногда возникают проблемы с преобразованиями типов.
И компилятор иногда без причин вырубается.
Но всё равно разработка таких программ на паскале идёт гораздо быстрее, чем на Си-шарпе.
Там пока Visual Studio запустишь, пока она пару строк закомпилирует, успеешь 10 раз сказать “Будь проклят тот день, когда я сел за клавиатуру этого пылесоса!”.