Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > ОС и железо
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.01.2016, 12:59
cadil cadil вне форума
Начинающий
 
Регистрация: 24.10.2007
Сообщения: 169
Репутация: 10
По умолчанию Delphi XE7 - проблемы с COM-портом

Программа - USB-термометр более-менее успешно компилируется DELPHI 7SE.
Этот же проект запускается (компилируется) редактором Delphi XE7, но COM-порт, к которому подключен термометр - не распознается.
Для наглядности - во вложении скрин. Из первой картинки видно, что при компиляции DELPHI 7SE порт СОМ1, к которому подключено устройство, распознается (порт в меню выделен цветом). С Delphi XE7 я не могу добиться распознавания порта (последняя картинка).
Помогите решить эту проблему с распознаванием порта. Заранее благодарю.
И еще ... Аналогичная проблема была и с Delphi 2009. Думаю - мудрит Embarcadero: более поздняя версия продукта не всегда поддерживает проекты, собранные на более ранних версиях.
Изображения
Тип файла: jpg COM_1.jpg (78.1 Кбайт, 11 просмотров)

Последний раз редактировалось cadil, 04.01.2016 в 21:09.
Ответить с цитированием
  #2  
Старый 04.01.2016, 18:57
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Видимо, опять непонятки с AnsiString и UnicodeString.
Ответить с цитированием
  #3  
Старый 04.01.2016, 21:29
cadil cadil вне форума
Начинающий
 
Регистрация: 24.10.2007
Сообщения: 169
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Видимо, опять непонятки с AnsiString и UnicodeString.
Почитал об этой проблеме тут -Delphi и кодировка Unicode. Вопрос очень серьезный. Посоветуйте - как решить эту проблему? Спасибо!

Последний раз редактировалось cadil, 04.01.2016 в 21:32.
Ответить с цитированием
  #4  
Старый 04.01.2016, 22:06
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Принудительно указать тип AnsiString вместо String.
Ответить с цитированием
Этот пользователь сказал Спасибо lmikle за это полезное сообщение:
cadil (12.01.2016)
  #5  
Старый 05.01.2016, 20:32
cadil cadil вне форума
Начинающий
 
Регистрация: 24.10.2007
Сообщения: 169
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Принудительно указать тип AnsiString вместо String.
Заменил тип String на AnsiString и Char на AnsiChar.
Проект на ХЕ7 компилируется, но с тем же отрицательным результатом - СОМ-порт не распознается, на 7SE - проект без проблем запускается и с новым типом переменных.
Какие версии еще стоит проверить, где копать?

Последний раз редактировалось cadil, 05.01.2016 в 22:03.
Ответить с цитированием
  #6  
Старый 06.01.2016, 01:44
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Покажи код - как ты определяешь порт.
Может там еще надо и др. функцию использовать принудительно (xxxA, а не xxxW, на которую замаплена оригинальная xxx).

И, кстати, вот еще почитай:
http://stackoverflow.com/questions/1...ports-in-win32

Последний раз редактировалось lmikle, 06.01.2016 в 01:47.
Ответить с цитированием
  #7  
Старый 12.01.2016, 11:18
cadil cadil вне форума
Начинающий
 
Регистрация: 24.10.2007
Сообщения: 169
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Принудительно указать тип AnsiString вместо String.
lmikle!
Ты был прав! При принудительной замене String на AnsiString, команды, где используются массивы, не выполняются. Например,
Код:
function HConvert(E:TEdit; var H:Byte):Boolean;
var Hp:Byte; S:String; Error:Boolean;
begin
 Hp:=H; Result:=true;
 Error:=false;
 S:=UpperCase(E.Text);
//S:= AnsiString(S);
 case length(S) of
 1: if ConvD(S[1])>=0 then H:=ConvD(S[1])
                     else Error:=true;
...
Как записать этот фрагмент кода, если S:AnsiString; или S:RawByteString;
Заранее благодарю за помощь.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter