Cportlaz с новыми версиями Lazarus
Модератор: Модераторы
Cportlaz с новыми версиями Lazarus
Всем доброго времени суток.
Много лет для работы с COM портом под Lazarus пользуюсь компонентом Cportlaz. Другие компоненты для COM порта пробовал, но они мне не понравились, стабильной связи у меня не получалось.
Однако под новыми версиями Lazarus он почему-то не работает. Эмпирически установил, что можно использовать не новее чем ver #1.4.2. В чем может быть причина?
Много лет для работы с COM портом под Lazarus пользуюсь компонентом Cportlaz. Другие компоненты для COM порта пробовал, но они мне не понравились, стабильной связи у меня не получалось.
Однако под новыми версиями Lazarus он почему-то не работает. Эмпирически установил, что можно использовать не новее чем ver #1.4.2. В чем может быть причина?
Re: Cportlaz с новыми версиями Lazarus
akouz писал(а):...Однако под новыми версиями Lazarus он почему-то не работает...
Это может означать множество самых разных вещей.
Re: Cportlaz с новыми версиями Lazarus
iskander писал(а):Это может означать множество самых разных вещей.
То есть, лучше не париться, а работать с 1.4.2? Я, собственно, так и поступаю...
Re: Cportlaz с новыми версиями Lazarus
akouz писал(а):То есть, лучше не париться, а работать с 1.4.2? ...
Дело конечно ваше, но я хотел намекнуть, что неплохо было бы уточнить это "не работает".
- Alexx2000
- постоялец
- Сообщения: 490
- Зарегистрирован: 25.10.2006 00:22:07
- Откуда: Мытищи
- Контактная информация:
Re: Cportlaz с новыми версиями Lazarus
Вот Lazarus порт последней версии компонента, работает с текущей версией Lazarus.
Re: Cportlaz с новыми версиями Lazarus
Alexx2000 писал(а):Вот Lazarus порт последней версии компонента, работает с текущей версией Lazarus.
Вот спасибо! Как попробую - отпишусь. Заодно уточню, в чем была мулька с Cportlaz, я последний раз с новыми версиями Lazarus его примерно полгода назад пробовал, детали не помню.
Re: Cportlaz с новыми версиями Lazarus
Чудеса какие-то... Поставил последнюю версию Laz 2.0.4, никаких компонентов не добавлял. Компилирую свой проект, который был под Laz 1.4.2, а он - бац - и скомпилировался. И даже - бац - и заработал! Хотя в нем используется Comportlaz (один из юнитов uses CPort).
"Ничего не понимаю" (с). До сих пор после установки новой версии Lazarus я каждый раз должен был добавлять в него Comportlaz и перекомпилировать сам Lazarus. Я сайчас оно само работает. Это как? И почему?
"Ничего не понимаю" (с). До сих пор после установки новой версии Lazarus я каждый раз должен был добавлять в него Comportlaz и перекомпилировать сам Lazarus. Я сайчас оно само работает. Это как? И почему?
Re: Cportlaz с новыми версиями Lazarus
akouz писал(а):"Ничего не понимаю" (с). До сих пор после установки новой версии Lazarus я каждый раз должен был добавлять в него Comportlaz и перекомпилировать сам Lazarus. Я сайчас оно само работает. Это как? И почему?
Вообще самая вредная ситуация в программировании это не когда не можешь понять почему что-то не работает, а когда не можешь понять почему что-то работает .
Зы
Кстати в 2.04 обнаружил две "баго-фичи"
1) пропало сообщение о перезапуске при повторной компиляции.
2) Тип HWND вдруг захотел явной трансляции в стандартный THandle и обратно (Впрочем возможно я тут что-то путаю глюку вылез неделю назад выдав при попытке присвоить нечто совершенно "ужасное" все место обычной несовместимости типов )...
Если вторая баго-фича "в коде фиксится навсегда" (написал HWND(Handle) и забыл ) то первая просто непонятно откуда взялась (есть впечатление что это случайный "колаж" из двух версии настроек Лазаруса так повлиял ).
Последний раз редактировалось Alex2013 31.08.2019 03:21:15, всего редактировалось 1 раз.
Re: Cportlaz с новыми версиями Lazarus
Поставил новый Лазарус 2.0.4 на другой комп, на работе. И если дома (Вынь_10 с AMD-FX-6300, все 64-битное), все паче чаяния запахало с полпинка, то там все наоборот получилось. Там 64-битная версия Лазарус почему-то вообще не встала: после компиляции моя прога не запускалась - Винда не давала ей запускаться. Побился какое-то время, плюнул, поставил 32-битную версию 2.0.2, она там заработала нормально. Хотя винда_10 там 64-битная, и проц i5 тоже 64-битный. Но CPortLaz в ней так же магически, как на домашнем компе, не появился. Пришлось ставить "вручную" и перекомпилировать Лазарус. Причина, очевидно, в том, что в какой-то момент при очередной переинсталляции я отказался сохранять старые настройки, опасаясь, что глюки из-за них.
В сухом остатке на текущий момент мое понимание ситуации таково:
- CPortLaz не стыкуется с Лазарус 1.6 и 1.8, но работает с Лазарус 1.4 и 2.0
- При инсталляции Лазарус 2.0 он может "взять старые настройки" и автоматически включить в себя компоненты (конкретно CPortLaz), ранее инсталлированные в Лазарус 1.4. Это для меня приятная новость.
В сухом остатке на текущий момент мое понимание ситуации таково:
- CPortLaz не стыкуется с Лазарус 1.6 и 1.8, но работает с Лазарус 1.4 и 2.0
- При инсталляции Лазарус 2.0 он может "взять старые настройки" и автоматически включить в себя компоненты (конкретно CPortLaz), ранее инсталлированные в Лазарус 1.4. Это для меня приятная новость.
Re: Cportlaz с новыми версиями Lazarus
1 Возможно просто скомпилированный модуль остался ...
2 В порядке "мозгового штурма " : посмотри что с оптимизаций (когда-то случайно пересобрал программу с "агрессивными оптимизациями" в результате та начала вылетать через 10 минут после запуска, даже если ничего в программе не делать )
3 У меня работали обе суб-версии (64 и 32 бита ) Лазаруса 2.04 одновременно так что не думаю что проблема в "разнобитности" .
2 В порядке "мозгового штурма " : посмотри что с оптимизаций (когда-то случайно пересобрал программу с "агрессивными оптимизациями" в результате та начала вылетать через 10 минут после запуска, даже если ничего в программе не делать )
3 У меня работали обе суб-версии (64 и 32 бита ) Лазаруса 2.04 одновременно так что не думаю что проблема в "разнобитности" .
Re: Cportlaz с новыми версиями Lazarus
добрый день
LazComPort/Alexx200
пытаюсь установить, сначало была ошибка:
--> винды у нас действительно нет, может с дефайнами где напутали? отключаем этот модуль
далее вылезла эта:
поиск TOverlapped выдал:
в лазаре ничего нет.
исходные:
LazComPort/Alexx200
Код: Выделить всё
Design-Time - DsgnCPort.lpk
Run-Time - CPortLib.lpk
пытаюсь установить, сначало была ошибка:
Код: Выделить всё
CPort.pas(23,3) Fatal: Cannot find Windows used by CPort of package CPortLib.--> винды у нас действительно нет, может с дефайнами где напутали? отключаем этот модуль
далее вылезла эта:
Код: Выделить всё
CPort.pas(75,17) Error: Identifier not found "TOverlapped"поиск TOverlapped выдал:
Код: Выделить всё
/opt/fpc-3.0.4/src/packages/winunits-jedi/src
343:jwawinbase.pas
TOverlapped = OVERLAPPED;
в лазаре ничего нет.
исходные:
Код: Выделить всё
- Lazarus-2.0.8
- fpc-3.0.4
- Slackware-14.2/x32
