имеется код. ООП в лазарусе пока только постигаю, поэтому кривизне не удивляйтесь. и вот оно почему-то выдаёт Runtime Error (202) %) в параметрах на вкладке «Генерация кода» галочки ставил/убирал - ничего нового. сдается мне, это баг, но как обойти?
Что какой? Дебаггер? Понятия не имею что там в лазарусе. Я просто лет 20 назад писал на паскале и, думаю, смог бы помочь если бы ты ткнул меня носом ЧТО ИМЕННО приводит к краху.
если включить все проверки, то при вызове Button2Click вылазят такие невнятные ошибки, и если нажать «Приостановить», то вылазит страшное окно с ассемблером %) если отключить — говорит SIGSEGV и показывает на строку 129. если вырубить вызов getPowerState, то ругается на следующий метод, и т.д., пока всё не отключишь.
TPrinter, я так понимаю, это что-то системное? Я вижу, что ты при создании формы запускаешь дефолтный конструктор этого TPrinter. Ты уверен, что ему не нужны никакие настройки? Код выглядит странно — как будто ты ожидаешь, что TPrinter сам найдёт принтер и сам разберётся как им пользоваться.
это в лабе задание - создать класс «принтер». сначала на первой кнопке ругалось, потому что там, где property ... write была функция, а не процедура. даже интересно, теперь-то что, если не баг, конечно.
Код в студию. А то так не угадать где у тебя ошибка. Да. На лоре поголовно ненавидят паскаль. Обратись http://freepascal.ru/ там тебе помогут. А то давай код. Посмотрю чёкак.
У тебя в классе TPrinter нет переменных chargeLevel, paperCount, power. Есть только свойства с этими именами. Кодом, что представлен, ты как Мюнхаузен пытаешься сам себя за волосья из болота вытащить. Не прокатит.
Опиши в разделе private что-то типа: FpowerState:boolean; FchargeLevel:integer; FpaperCount:integer;
И в методах getPowerState, setPowerState, getCharge, setCharge, getPaperCount, setPaperCount обращайся только к этим именам.
Для обучения кого? Обучения чему? Индустрия требует кодеров на питонах, рубях и жабаскриптах, а в вузах по-прежнему старперы преподают паскаль. Особо упоротые - под ДОСом.
С того, что нормальных типов данных нет, моргнёшь и уже у тебя что-то неэкранированное куда-то полезло и «вроде работает» пока -rf файл не «сработал», а уж длиннее что-то, чем на пару страниц вообще клиника.