|
2 / 2 / 0
Регистрация: 11.01.2012
Сообщений: 9
|
|
LPT порт, обмен. Перевести с Delphi на C++Builder.01.02.2012, 19:48. Показов 2377. Ответов 14
Метки нет (Все метки)
Так получилось, что приходится осваивать программирование. Написал программу, которая работает с LPT портом, с помощью Delphi. Теперь нужно перевести ее в C++Builder. Начал переводить. Компилируется... Но работает криво. Проблемы при чтении данных с порта. Помогите, пожалуйста, поправить. Или реализовать обмен каким-нибудь другим способом
0
|
|
| 01.02.2012, 19:48 | |
|
Ответы с готовыми решениями:
14
Перевести код из Delphi в C++ Builder Перевести код с Delphi в C++ Builder
|
|
2 / 2 / 0
Регистрация: 11.01.2012
Сообщений: 9
|
||||||
| 01.02.2012, 21:47 [ТС] | ||||||
|
Нашел я в чем косяк тут. Может, кому-нибудь в будущем пригодится. Делфа эту операцию проводит на автомате, а в билдере пришлось писать вручную.
1
|
||||||
|
288 / 229 / 27
Регистрация: 13.06.2010
Сообщений: 744
|
|
| 01.02.2012, 22:05 | |
|
Раз уж так получилось, что просто поделились проектом.. Опишите пожалуйста назначение данной программы.
0
|
|
|
2 / 2 / 0
Регистрация: 11.01.2012
Сообщений: 9
|
|
| 05.02.2012, 17:45 [ТС] | |
|
Тут все просто.В два верхних регистра записываются данные и выводятся на порт в виде нулей и единиц логических. С нижних регистров происходит чтение при двунаправленном режиме обмена. Если разобраться в этих основах, можно довольно просто реализовать работу с реальным железом, загоняя туда информацию, читая отклик. В своей ситуации я общаюсь через порт с ПЛИС.
0
|
|
|
2 / 2 / 0
Регистрация: 11.01.2012
Сообщений: 9
|
|
| 15.02.2012, 20:21 [ТС] | |
|
Через DLL. Что там внутри я не знаю, взял готовую библиотеку. Подгружаю ее и через функции общаюсь с портом
0
|
|
|
2 / 2 / 0
Регистрация: 11.01.2012
Сообщений: 9
|
|
| 19.02.2012, 15:12 [ТС] | |
|
Я скачал ее бесплатно с сети. Называется InpOut32. Если не найдете, могу выложить ее сдесь
0
|
|
|
2 / 2 / 0
Регистрация: 11.01.2012
Сообщений: 9
|
|
| 19.02.2012, 19:12 [ТС] | |
|
Под вторым паком на работе работает у меня. Дома семерка стоит, решил попробовать из интереса. Тоже работает все. Поэтому, думаю, все хорошо будет и под 3м паком.
1
|
|
|
|
||||||
| 20.02.2012, 13:52 | ||||||
|
А как вы её подключаете к проекту на C++Builder ? Есть готовый компонент ?
Не работает у меня Проект С++.rar при обращении к порту в строке
0
|
||||||
|
2 / 2 / 0
Регистрация: 11.01.2012
Сообщений: 9
|
||||||
| 21.02.2012, 08:49 [ТС] | ||||||
|
Попробуйте так:
0
|
||||||
|
|
|||||||||||||||||||||
| 21.02.2012, 12:19 | |||||||||||||||||||||
|
Так типа заработало в примере Проект С++.rar
Переделал прогу свою и прикол в том, что всё реально пишет в порт, но через несколько записей в порт опять С++ Builder 6 пишет "Access Violation" и прерывает программу. Не понятно почему первые команды проходят пример :
Добавлено через 7 минут Даже не знаю что сказать... Причины такого поведения не могу понять... Ладно бы не писал в порт и на первом же обращении к порту писал ошибку, а тут ведь пишет и затыкается позже. ReadPort.h
0
|
|||||||||||||||||||||
|
2 / 2 / 0
Регистрация: 11.01.2012
Сообщений: 9
|
|
| 24.02.2012, 13:23 [ТС] | |
|
Я сейчас с такой же проблемой столкнулся. Если писать в порт с использованием таймера, то ошибки не будет. Но это очень медленно. Примерно 15 мс. Быстрее не получается. Зато ошибки нет. Пытаясь увеличить быстродействие, по даташиту несколько МГц, выдает ошибку. Знакомые говорят, что это переполнение памяти. Что нужно придумать какую-нибудь альтернативу стандартному таймеру, чтобы все работало. Вот на этом и встал.
0
|
|
|
|
|
| 24.02.2012, 13:26 | |
|
У меня проблема возникает при пошаговой отладке в Debuger
![]() Я так понимаю что прога реально пишет в какую-то область памяти, а драйвер уже подхватывает это и пишет в порт. Может проблема с этим. или я не правильно понял как всё это работает ...
0
|
|
| 24.02.2012, 13:26 | |
|
Помогаю со студенческими работами здесь
15
Перевести исходник c Delphi 7 на С++ Builder 6 Перевести код из Delphi в C++ Builder Перевести проект из Delphi в Builder
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|