Cportlaz с новыми версиями Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Cportlaz с новыми версиями Lazarus

Сообщение akouz » 25.08.2019 04:28:46

Всем доброго времени суток.

Много лет для работы с COM портом под Lazarus пользуюсь компонентом Cportlaz. Другие компоненты для COM порта пробовал, но они мне не понравились, стабильной связи у меня не получалось.

Однако под новыми версиями Lazarus он почему-то не работает. Эмпирически установил, что можно использовать не новее чем ver #1.4.2. В чем может быть причина?
akouz
незнакомец
 
Сообщения: 6
Зарегистрирован: 02.08.2016 05:25:15

Re: Cportlaz с новыми версиями Lazarus

Сообщение iskander » 25.08.2019 09:39:36

akouz писал(а):...Однако под новыми версиями Lazarus он почему-то не работает...

Это может означать множество самых разных вещей.
iskander
энтузиаст
 
Сообщения: 590
Зарегистрирован: 08.01.2012 18:43:34

Re: Cportlaz с новыми версиями Lazarus

Сообщение akouz » 25.08.2019 14:58:55

iskander писал(а):Это может означать множество самых разных вещей.

То есть, лучше не париться, а работать с 1.4.2? Я, собственно, так и поступаю...
akouz
незнакомец
 
Сообщения: 6
Зарегистрирован: 02.08.2016 05:25:15

Re: Cportlaz с новыми версиями Lazarus

Сообщение iskander » 25.08.2019 15:14:33

akouz писал(а):То есть, лучше не париться, а работать с 1.4.2? ...

Дело конечно ваше, но я хотел намекнуть, что неплохо было бы уточнить это "не работает".
iskander
энтузиаст
 
Сообщения: 590
Зарегистрирован: 08.01.2012 18:43:34

Re: Cportlaz с новыми версиями Lazarus

Сообщение Alexx2000 » 26.08.2019 10:16:41

Вот Lazarus порт последней версии компонента, работает с текущей версией Lazarus.
Аватара пользователя
Alexx2000
постоялец
 
Сообщения: 487
Зарегистрирован: 25.10.2006 00:22:07
Откуда: Мытищи

Re: Cportlaz с новыми версиями Lazarus

Сообщение akouz » 26.08.2019 17:02:16

Alexx2000 писал(а):Вот Lazarus порт последней версии компонента, работает с текущей версией Lazarus.

Вот спасибо! Как попробую - отпишусь. Заодно уточню, в чем была мулька с Cportlaz, я последний раз с новыми версиями Lazarus его примерно полгода назад пробовал, детали не помню.
akouz
незнакомец
 
Сообщения: 6
Зарегистрирован: 02.08.2016 05:25:15

Re: Cportlaz с новыми версиями Lazarus

Сообщение akouz » 28.08.2019 16:39:50

Чудеса какие-то... Поставил последнюю версию Laz 2.0.4, никаких компонентов не добавлял. Компилирую свой проект, который был под Laz 1.4.2, а он - бац - и скомпилировался. И даже - бац - и заработал! Хотя в нем используется Comportlaz (один из юнитов uses CPort).

"Ничего не понимаю" (с). До сих пор после установки новой версии Lazarus я каждый раз должен был добавлять в него Comportlaz и перекомпилировать сам Lazarus. Я сайчас оно само работает. Это как? И почему?
akouz
незнакомец
 
Сообщения: 6
Зарегистрирован: 02.08.2016 05:25:15

Re: Cportlaz с новыми версиями Lazarus

Сообщение Alex2013 » 29.08.2019 23:35:42

akouz писал(а):"Ничего не понимаю" (с). До сих пор после установки новой версии Lazarus я каждый раз должен был добавлять в него Comportlaz и перекомпилировать сам Lazarus. Я сайчас оно само работает. Это как? И почему?


Вообще самая вредная ситуация в программировании это не когда не можешь понять почему что-то не работает, а когда не можешь понять почему что-то работает . :wink: Но в данной случае могу предположить что тут "виновато" обновление винды. (У меня недавно демка не работавшая со времен ХР вдруг заработала в 64-битной Вин 10 ) А уж работа с портами точно постоянно в прицеле.
Зы
Кстати в 2.04 обнаружил две "баго-фичи"
1) пропало сообщение о перезапуске при повторной компиляции.
2) Тип HWND вдруг захотел явной трансляции в стандартный THandle и обратно (Впрочем возможно я тут что-то путаю глюку вылез неделю назад выдав при попытке присвоить нечто совершенно "ужасное" все место обычной несовместимости типов )...

Если вторая баго-фича "в коде фиксится навсегда" (написал HWND(Handle) и забыл ) то первая просто непонятно откуда взялась (есть впечатление что это случайный "колаж" из двух версии настроек Лазаруса так повлиял ).
Последний раз редактировалось Alex2013 31.08.2019 04:21:15, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

Re: Cportlaz с новыми версиями Lazarus

Сообщение akouz » 30.08.2019 15:15:20

Поставил новый Лазарус 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. Это для меня приятная новость.
akouz
незнакомец
 
Сообщения: 6
Зарегистрирован: 02.08.2016 05:25:15

Re: Cportlaz с новыми версиями Lazarus

Сообщение Alex2013 » 31.08.2019 04:39:58

1 Возможно просто скомпилированный модуль остался ...
2 В порядке "мозгового штурма " : посмотри что с оптимизаций (когда-то случайно пересобрал программу с "агрессивными оптимизациями" в результате та начала вылетать через 10 минут после запуска, даже если ничего в программе не делать )
3 У меня работали обе суб-версии (64 и 32 бита ) Лазаруса 2.04 одновременно так что не думаю что проблема в "разнобитности" .
Alex2013
долгожитель
 
Сообщения: 2923
Зарегистрирован: 03.04.2013 11:59:44

Re: Cportlaz с новыми версиями Lazarus

Сообщение sunjob » 04.07.2020 02:24:14

добрый день

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
Аватара пользователя
sunjob
постоялец
 
Сообщения: 123
Зарегистрирован: 12.01.2011 15:19:54


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Google Adsense [Bot] и гости: 23

Рейтинг@Mail.ru