powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Особенности программирования в WinXP
16 сообщений из 16, страница 1 из 1
Особенности программирования в WinXP
    #35070904
erjik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые, есть следующий вопрос.

Есть программа, которая через плату ввода/вывода (Advanteсh PCL-731) "общается" с прибором. Программа писалась давно и потому была рассчитана на работу в среде DOS. Сейчас возникла необходимость запускать эту программу в среде Windows. С 98-м проблем нет, но вот в XP она не работает. Субъективно создаётся впечатление, что есть проблема с адресацией или методами адресации к плате PCL, так как ПО для платы, рассчитанное на работу в XP, фунциклирует отлично - посылает и принимает инфу с платы. А вот при работе программы очевидно, что сигналы уходят в никуда, если вообще куда-то уходят.

Программа написана на Pascal. Сам я не шибко программист, хотя представление о программировании имею неплохое (изучал в универе, программировал примитивно для себя). Кроме того технарь по образованию, профессии и сути. Поэтому уверен, что с вашей помощью сумею разобраться с проблемой. Буду рад вашим советам или ссылкам на документацию, способную мне помочь. Ну или скажите, что это невозможно и требует скрупулезной работы профессионального программиста.

p.s. Есть исходник программы, если он поможет в решении проблемы, могу опубликовать.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35070962
erjikУважаемые, есть следующий вопрос.

Есть программа, которая через плату ввода/вывода (Advanteсh PCL-731) "общается" с прибором. Программа писалась давно и потому была рассчитана на работу в среде DOS. Сейчас возникла необходимость запускать эту программу в среде Windows. С 98-м проблем нет, но вот в XP она не работает. Субъективно создаётся впечатление, что есть проблема с адресацией или методами адресации к плате PCL, так как ПО для платы, рассчитанное на работу в XP, фунциклирует отлично - посылает и принимает инфу с платы. А вот при работе программы очевидно, что сигналы уходят в никуда, если вообще куда-то уходят.

Программа написана на Pascal. Сам я не шибко программист, хотя представление о программировании имею неплохое (изучал в универе, программировал примитивно для себя). Кроме того технарь по образованию, профессии и сути. Поэтому уверен, что с вашей помощью сумею разобраться с проблемой. Буду рад вашим советам или ссылкам на документацию, способную мне помочь. Ну или скажите, что это невозможно и требует скрупулезной работы профессионального программиста.

p.s. Есть исходник программы, если он поможет в решении проблемы, могу опубликовать.
Скорее всего программа юзает прямую работу с памятью через прерывания BIOS.
Так как Win'98 была все-таки "надстройкой" над ДОСом (сначала запускался ДОС, затем грузились виндовые "примочки"), то программа работала.
WinXP работу ДОС ЭМУЛИРУЕТ, поэтому многие ДОСовские "фишки" могут не работать или работать не так, как задумывалось...
Поэтому, как ни прискорбно, скорее всего, придется программу переписывать...
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35070992
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erjik...

Создайте ярлык на программу. В свойствах ярлыка во вкладке "Совместимость" укажите "Windows 98".

Может быть поможет.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35071351
erjik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton erjik...

Создайте ярлык на программу. В свойствах ярлыка во вкладке "Совместимость" укажите "Windows 98".

Может быть поможет.

Пробовал, не помогает.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35071381
erjik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Станислав С...кий erjikУважаемые, есть следующий вопрос.

Есть программа, которая через плату ввода/вывода (Advanteсh PCL-731) "общается" с прибором. Программа писалась давно и потому была рассчитана на работу в среде DOS. Сейчас возникла необходимость запускать эту программу в среде Windows. С 98-м проблем нет, но вот в XP она не работает. Субъективно создаётся впечатление, что есть проблема с адресацией или методами адресации к плате PCL, так как ПО для платы, рассчитанное на работу в XP, фунциклирует отлично - посылает и принимает инфу с платы. А вот при работе программы очевидно, что сигналы уходят в никуда, если вообще куда-то уходят.

Программа написана на Pascal. Сам я не шибко программист, хотя представление о программировании имею неплохое (изучал в универе, программировал примитивно для себя). Кроме того технарь по образованию, профессии и сути. Поэтому уверен, что с вашей помощью сумею разобраться с проблемой. Буду рад вашим советам или ссылкам на документацию, способную мне помочь. Ну или скажите, что это невозможно и требует скрупулезной работы профессионального программиста.

p.s. Есть исходник программы, если он поможет в решении проблемы, могу опубликовать.
Скорее всего программа юзает прямую работу с памятью через прерывания BIOS.
Так как Win'98 была все-таки "надстройкой" над ДОСом (сначала запускался ДОС, затем грузились виндовые "примочки"), то программа работала.
WinXP работу ДОС ЭМУЛИРУЕТ, поэтому многие ДОСовские "фишки" могут не работать или работать не так, как задумывалось...
Поэтому, как ни прискорбно, скорее всего, придется программу переписывать...

Хотелось бы уточнить. Программа запускается нормально, но как только доходит до момента обмена данными с прибором подвисает. Если быть точным, она ждёт прерывания, но не дожидается и потому "стоит". Прерывание же должно идти от PCLвской платы.

Я пробовал запускать простейшую прогу записи/чтения данных с каждого "порта" PCLвской платы (её текст был в мануале на плату - я тупо набил её и скомпилировал). Так вот: в 98-м что записано, то и прочитано, а в XP пищется одно, а при чтении выходит что-то вроде FF. Т.е. я думаю прога в итоге ничего не записывает и не считывает с платы, а просто выводит на экран какие-то дефолтные значения переменных.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35071563
Alex_Toms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А из консоли пробовали запускать?
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35071719
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скачайте в инете программу DosBox - запускает в виртуальной среде программы для DOS.
Если не поможет - ничего не поможет кроме переписывания программы.

________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35071738
temperature457
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erjikУважаемые, есть следующий вопрос.

Есть программа, которая через плату ввода/вывода (Advanteсh PCL-731) "общается" с прибором. Программа писалась давно и потому была рассчитана на работу в среде DOS. Сейчас возникла необходимость запускать эту программу в среде Windows. С 98-м проблем нет, но вот в XP она не работает. Субъективно создаётся впечатление, что есть проблема с адресацией или методами адресации к плате PCL, так как ПО для платы, рассчитанное на работу в XP, фунциклирует отлично - посылает и принимает инфу с платы. А вот при работе программы очевидно, что сигналы уходят в никуда, если вообще куда-то уходят.

Программа написана на Pascal. Сам я не шибко программист, хотя представление о программировании имею неплохое (изучал в универе, программировал примитивно для себя). Кроме того технарь по образованию, профессии и сути. Поэтому уверен, что с вашей помощью сумею разобраться с проблемой. Буду рад вашим советам или ссылкам на документацию, способную мне помочь. Ну или скажите, что это невозможно и требует скрупулезной работы профессионального программиста.

p.s. Есть исходник программы, если он поможет в решении проблемы, могу опубликовать.
Пишите новую программу, которая будет работать с портами, используя драйверы.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35071740
temperature457
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее, с железкой.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35071764
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
temperature457Пишите новую программу, которая будет работать с портами, используя драйверы.+1
в Windows семейства NT/2000/XP запрещена работа с портами ввода/вывода из пользовательских программ.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35072099
erjik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LelikkСкачайте в инете программу DosBox - запускает в виртуальной среде программы для DOS.
Если не поможет - ничего не поможет кроме переписывания программы.

Пробовал. Не работает. :-)
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35072140
erjik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
temperature457
Пишите новую программу, которая будет работать с портами, используя драйверы.

Эээ... Гм. Заранее прошу прощения за верятно тупой вопрос, но чего бы почитать такое, чтоб научить программу используя драйверы обращаться к портам? :-) И вообще, насколько это трудоёмкая работа: переписать программу как вы говорите? Я так понимаю, переделать нужно только ту часть, где идёт обмен с портами?
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35072182
temperature457
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
erjik
Эээ... Гм. Заранее прошу прощения за верятно тупой вопрос, но чего бы почитать такое, чтоб научить программу используя драйверы обращаться к портам? :-) И вообще, насколько это трудоёмкая работа: переписать программу как вы говорите? Я так понимаю, переделать нужно только ту часть, где идёт обмен с портами?
Тут другой подход. В программе ты не пишешь в порты. Ты просишь драйвер — запиши-ка что-нибудь в порт, который имеет номер 5. Или просишь прочитать данные из порта номер 4.
Драйвер, работающий на нулевом уровне кольца защиты, умеет читать (и писать) данные из определенного порта реальной железки.

На большинство распространенных железяк (и в том числе на примитивные ADC/DAC платы) существуют драйверы, написанные для Windows (и 98, и 2000/XP). Правда использовать драйверы из программы на Паскале для DOS у вас вряд-ли получится. Как-никак, драйверы — они 32-х битные и работают только из-под Windows.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35072190
temperature457
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может вам попробовать переписать её на Delphi (если нет желания полной смены платформы)?
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35072308
erjik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
temperature457Может вам попробовать переписать её на Delphi (если нет желания полной смены платформы)?

По правде сказать, у меня вообще мало желания заниматься программированием, т.к. это не моё дело. Но кроме меня тут этим заниматься никто не хочет и не будет. :-)

Тем не менее, спасибо за советы. Драйверы на плату PCL-731 безусловно есть, надо залезть на диск к ней и почитать мануалы, ну и в инете поищу особенности обращения к железу через драйверы.
...
Рейтинг: 0 / 0
Особенности программирования в WinXP
    #35072526
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то мне попадался универсальный драйвер портов ввода/вывода.
Насколько я понимаю, при его использовании переделки готовой неизвестной проги будут минимальны - только заменить команды записи/чтения в/из портов на вызов этого драйвера.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Особенности программирования в WinXP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]