Не спеша разрабатываю «агрегат» в свободное время. Уже практически определился с его схемной реализацией. Как только закончу разработку «железа» – соберу его макет для отладки и займусь написанием управляющей (mikroPascal) и консольной (freePascal/Lazarus) программ. Связь через RS-232, разумеется.
инженеры бывшими не бывают (18+)
«Инженер увидит ошибку, а гуманитарий драму»
(записки акынствующего ISTJ-инженера)
Показаны сообщения с ярлыком lazarus. Показать все сообщения
Показаны сообщения с ярлыком lazarus. Показать все сообщения
воскресенье, 25 мая 2014 г.
суббота, 21 декабря 2013 г.
Взбунтовалась оболочка Lazarus'а
После перехода на Radeon HD как ни пытался – но Lazarus упорно открывается в нулевой точке – все окна привязывает в левый верхний угол, лажая при этом их размер и не запоминая их раскладку на экране. Либо глюки с самим Lazarus'ом, либо глюки с системой. Погуглил – вроде бы таких глюков у него не обнаруживалось. Попробовал на местном форуме спросить (узнать, «одиноки ли мы во Вселенной» с этим глюком) – ноль эффекта.
UPDATE
Как оказалось, Lazarus конфликтует с одним из параметров AMD Hyfravision.
Снял этот флажок – глюк исчез.
UPDATE
Как оказалось, Lazarus конфликтует с одним из параметров AMD Hyfravision.
Снял этот флажок – глюк исчез.
воскресенье, 14 июля 2013 г.
Продолжаю делать свой хобби-проект
Продолжил разработку управляющей программы (на Free Pascal/Lazarus). Был ряд странных глюков, видимо из-за перехода на Lazarus 1.0.10 (что-то где-то глюкануло/отвалилось в проекте, внезапно вылезли «левые» обработчики событий).
Также попытался заказать токарю Николаю Лошкареву (который с сайта tokar-msk.ru) изготовление двух небольших втулок из латуни. Сперва он пообещал их сделать «уже завтра», потом пообещал перезвонить завтра, а потом и вовсе исчез с горизонта событий. Похуизм Необязательность как современный бизнес-тренд, что тут поделаешь. Так что с механической частью проекта небольшой затык. Подожду еще одного токаря, который в отпуске, если не подыщется какая-то замена из спичек и желудей.
четверг, 6 июня 2013 г.
Любите ли вы опенсорс так же, как люблю его я?
Попробовал (проявил неосторожность, да) создать обработчик событий для объекта TButtonPanel в проекте под Lazarus... и словил глюк (Lazarus – это что-то типа Delphi для Pree Pascal).
Не исключено, что grayed-события в свойствах этого объекта нельзя было трогать от слова «вообще». Но вполне типичное поведенческое ожидание в такой ситуации – либо ничего не произойдет, либо среда выдаст предупреждающее сообщение. Но нет, ничего подобного.
Теперь вот даже не знаю, удастся ли мне спасти этот проект (сделано было все-таки не очень мало). Задал вопрос на профильном форуме. Если нет, то самое геморройное в таких ситуациях – это восстановление, т.е. отрисовка заново, всех интерфейсных форм. Успешно откалился на суточный snap-shoot из архива резервного копирования. Но нет никаких гарантий в дальнейшем от повторения этой ситуации. Возможно, что это знак™.
воскресенье, 2 июня 2013 г.
О редкой породе козлов... и API DLL
Программисты Velleman (да и проект-менеджеры до кучи) вполне достойны занесения в Красную книгу как редкие козлы. Это же надо было суметь написать (или заказать на стороне и потом принять написанное) API DLL для наборов K8096/K8097 (наборы DIY, «собери сам») так, что вызовы set-типа (установка параметров устройства) и get-типа (получение параметров устройства) не уживаются в одном (общем) потоке (одна программа/процедура/функция/обработчик события).
Ну и ко всему этому они еще ухитрились просто «никак» документировать этот API. Ну т.е. формально все вроде бы описано, но в лоб оно не работает просто от слова «никак». Вызов get-типа начинает работать только в том случае, если он вызывается по другому событию (в другом обработчике). Соответственно при использовании данного контроллера в «реальной жизни» внезапно™ всплывают неожиданные нюансы и тонныкирпичей лулзов.
При всем при этом техподдержкана голубом глазу лепит самоуверенно пишет нам следующее:
Ну и ко всему этому они еще ухитрились просто «никак» документировать этот API. Ну т.е. формально все вроде бы описано, но в лоб оно не работает просто от слова «никак». Вызов get-типа начинает работать только в том случае, если он вызывается по другому событию (в другом обработчике). Соответственно при использовании данного контроллера в «реальной жизни» внезапно™ всплывают неожиданные нюансы и тонны
При всем при этом техподдержка
The DLL can be used from any programming language.
воскресенье, 26 мая 2013 г.
суббота, 4 мая 2013 г.
Прототипирование «на берегу»
Поскольку API стал полностью понятен и для него даже написан враппер под FPC, стало возможным «нарисовать» частично работающий прототип интерфейса программы. По-крайней мере, удалось убедиться,что программа нормально взаимодействует с API DLL. Теперь осталось дождаться заказанные железки – и можно будет переходить к поэтапному оживлению «штопаного котика»...
пятница, 3 мая 2013 г.
Враппер для DLL на Free Pascal
1. Имеется DLL, содержащая API для управления некой железкой;
2. Для этой DLL имеется враппер для .NET с описанием функций (процедур) библиотеки (их параметров и возвращаемых значений);
3. Имеется описание этой dll, созданное с помощью DependencyWalker, содержащее имена экспортируемых функций (процедур) и смещения точек входа.
Требуется:
Подключить эту DLL к программе на Free Pascal, используя имеющуюся информацию.
Подключить эту DLL к программе на Free Pascal, используя имеющуюся информацию.
четверг, 2 мая 2013 г.
Хоббистическое
Пока ко мне очень неспешно (благодаря [censored] Почте России) едут китайские макрорельсы (да, я знаю, что это не айс, но выкладывать за сей агрегатЪ $300-350 я пока еще морально не готов), изучаю тему стекинга и не спеша пишу себе вишлист для дальнейших покупок. А заодно поставил себе на компьютер Free Pascal & Lazarus – и вспоминаю былое. Мое прошлое программерство завершилось приблизительно 15 лет назад аккурат с приходом первых Windows (был Turbo Pascal 7 на ту пору, с Delphy я уже не работал) и сменой парадигм программирования.
Подписаться на:
Сообщения (Atom)