
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
18.01.2008, 11:51
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
Уважаемые, есть следующий вопрос. Есть программа, которая через плату ввода/вывода (Advanteсh PCL-731) "общается" с прибором. Программа писалась давно и потому была рассчитана на работу в среде DOS. Сейчас возникла необходимость запускать эту программу в среде Windows. С 98-м проблем нет, но вот в XP она не работает. Субъективно создаётся впечатление, что есть проблема с адресацией или методами адресации к плате PCL, так как ПО для платы, рассчитанное на работу в XP, фунциклирует отлично - посылает и принимает инфу с платы. А вот при работе программы очевидно, что сигналы уходят в никуда, если вообще куда-то уходят. Программа написана на Pascal. Сам я не шибко программист, хотя представление о программировании имею неплохое (изучал в универе, программировал примитивно для себя). Кроме того технарь по образованию, профессии и сути. Поэтому уверен, что с вашей помощью сумею разобраться с проблемой. Буду рад вашим советам или ссылкам на документацию, способную мне помочь. Ну или скажите, что это невозможно и требует скрупулезной работы профессионального программиста. p.s. Есть исходник программы, если он поможет в решении проблемы, могу опубликовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 12:04
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
erjikУважаемые, есть следующий вопрос. Есть программа, которая через плату ввода/вывода (Advanteсh PCL-731) "общается" с прибором. Программа писалась давно и потому была рассчитана на работу в среде DOS. Сейчас возникла необходимость запускать эту программу в среде Windows. С 98-м проблем нет, но вот в XP она не работает. Субъективно создаётся впечатление, что есть проблема с адресацией или методами адресации к плате PCL, так как ПО для платы, рассчитанное на работу в XP, фунциклирует отлично - посылает и принимает инфу с платы. А вот при работе программы очевидно, что сигналы уходят в никуда, если вообще куда-то уходят. Программа написана на Pascal. Сам я не шибко программист, хотя представление о программировании имею неплохое (изучал в универе, программировал примитивно для себя). Кроме того технарь по образованию, профессии и сути. Поэтому уверен, что с вашей помощью сумею разобраться с проблемой. Буду рад вашим советам или ссылкам на документацию, способную мне помочь. Ну или скажите, что это невозможно и требует скрупулезной работы профессионального программиста. p.s. Есть исходник программы, если он поможет в решении проблемы, могу опубликовать. Скорее всего программа юзает прямую работу с памятью через прерывания BIOS. Так как Win'98 была все-таки "надстройкой" над ДОСом (сначала запускался ДОС, затем грузились виндовые "примочки"), то программа работала. WinXP работу ДОС ЭМУЛИРУЕТ, поэтому многие ДОСовские "фишки" могут не работать или работать не так, как задумывалось... Поэтому, как ни прискорбно, скорее всего, придется программу переписывать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 12:10
|
|||
|---|---|---|---|
Особенности программирования в WinXP |
|||
|
#18+
erjik... Создайте ярлык на программу. В свойствах ярлыка во вкладке "Совместимость" укажите "Windows 98". Может быть поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 13:40
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
mayton erjik... Создайте ярлык на программу. В свойствах ярлыка во вкладке "Совместимость" укажите "Windows 98". Может быть поможет. Пробовал, не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 13:46
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
Станислав С...кий erjikУважаемые, есть следующий вопрос. Есть программа, которая через плату ввода/вывода (Advanteсh PCL-731) "общается" с прибором. Программа писалась давно и потому была рассчитана на работу в среде DOS. Сейчас возникла необходимость запускать эту программу в среде Windows. С 98-м проблем нет, но вот в XP она не работает. Субъективно создаётся впечатление, что есть проблема с адресацией или методами адресации к плате PCL, так как ПО для платы, рассчитанное на работу в XP, фунциклирует отлично - посылает и принимает инфу с платы. А вот при работе программы очевидно, что сигналы уходят в никуда, если вообще куда-то уходят. Программа написана на Pascal. Сам я не шибко программист, хотя представление о программировании имею неплохое (изучал в универе, программировал примитивно для себя). Кроме того технарь по образованию, профессии и сути. Поэтому уверен, что с вашей помощью сумею разобраться с проблемой. Буду рад вашим советам или ссылкам на документацию, способную мне помочь. Ну или скажите, что это невозможно и требует скрупулезной работы профессионального программиста. p.s. Есть исходник программы, если он поможет в решении проблемы, могу опубликовать. Скорее всего программа юзает прямую работу с памятью через прерывания BIOS. Так как Win'98 была все-таки "надстройкой" над ДОСом (сначала запускался ДОС, затем грузились виндовые "примочки"), то программа работала. WinXP работу ДОС ЭМУЛИРУЕТ, поэтому многие ДОСовские "фишки" могут не работать или работать не так, как задумывалось... Поэтому, как ни прискорбно, скорее всего, придется программу переписывать... Хотелось бы уточнить. Программа запускается нормально, но как только доходит до момента обмена данными с прибором подвисает. Если быть точным, она ждёт прерывания, но не дожидается и потому "стоит". Прерывание же должно идти от PCLвской платы. Я пробовал запускать простейшую прогу записи/чтения данных с каждого "порта" PCLвской платы (её текст был в мануале на плату - я тупо набил её и скомпилировал). Так вот: в 98-м что записано, то и прочитано, а в XP пищется одно, а при чтении выходит что-то вроде FF. Т.е. я думаю прога в итоге ничего не записывает и не считывает с платы, а просто выводит на экран какие-то дефолтные значения переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 14:25
|
|||
|---|---|---|---|
Особенности программирования в WinXP |
|||
|
#18+
А из консоли пробовали запускать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 15:03
|
|||
|---|---|---|---|
Особенности программирования в WinXP |
|||
|
#18+
Скачайте в инете программу DosBox - запускает в виртуальной среде программы для DOS. Если не поможет - ничего не поможет кроме переписывания программы. ________________________________________________________ Глюк - это высокоорганизованная система не поддающихся определению частиц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 15:07
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
erjikУважаемые, есть следующий вопрос. Есть программа, которая через плату ввода/вывода (Advanteсh PCL-731) "общается" с прибором. Программа писалась давно и потому была рассчитана на работу в среде DOS. Сейчас возникла необходимость запускать эту программу в среде Windows. С 98-м проблем нет, но вот в XP она не работает. Субъективно создаётся впечатление, что есть проблема с адресацией или методами адресации к плате PCL, так как ПО для платы, рассчитанное на работу в XP, фунциклирует отлично - посылает и принимает инфу с платы. А вот при работе программы очевидно, что сигналы уходят в никуда, если вообще куда-то уходят. Программа написана на Pascal. Сам я не шибко программист, хотя представление о программировании имею неплохое (изучал в универе, программировал примитивно для себя). Кроме того технарь по образованию, профессии и сути. Поэтому уверен, что с вашей помощью сумею разобраться с проблемой. Буду рад вашим советам или ссылкам на документацию, способную мне помочь. Ну или скажите, что это невозможно и требует скрупулезной работы профессионального программиста. p.s. Есть исходник программы, если он поможет в решении проблемы, могу опубликовать. Пишите новую программу, которая будет работать с портами, используя драйверы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 15:07
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
Точнее, с железкой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 15:15
|
|||
|---|---|---|---|
Особенности программирования в WinXP |
|||
|
#18+
temperature457Пишите новую программу, которая будет работать с портами, используя драйверы.+1 в Windows семейства NT/2000/XP запрещена работа с портами ввода/вывода из пользовательских программ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 16:36
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
LelikkСкачайте в инете программу DosBox - запускает в виртуальной среде программы для DOS. Если не поможет - ничего не поможет кроме переписывания программы. Пробовал. Не работает. :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 16:45
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
temperature457 Пишите новую программу, которая будет работать с портами, используя драйверы. Эээ... Гм. Заранее прошу прощения за верятно тупой вопрос, но чего бы почитать такое, чтоб научить программу используя драйверы обращаться к портам? :-) И вообще, насколько это трудоёмкая работа: переписать программу как вы говорите? Я так понимаю, переделать нужно только ту часть, где идёт обмен с портами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 16:56
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
erjik Эээ... Гм. Заранее прошу прощения за верятно тупой вопрос, но чего бы почитать такое, чтоб научить программу используя драйверы обращаться к портам? :-) И вообще, насколько это трудоёмкая работа: переписать программу как вы говорите? Я так понимаю, переделать нужно только ту часть, где идёт обмен с портами? Тут другой подход. В программе ты не пишешь в порты. Ты просишь драйвер — запиши-ка что-нибудь в порт, который имеет номер 5. Или просишь прочитать данные из порта номер 4. Драйвер, работающий на нулевом уровне кольца защиты, умеет читать (и писать) данные из определенного порта реальной железки. На большинство распространенных железяк (и в том числе на примитивные ADC/DAC платы) существуют драйверы, написанные для Windows (и 98, и 2000/XP). Правда использовать драйверы из программы на Паскале для DOS у вас вряд-ли получится. Как-никак, драйверы — они 32-х битные и работают только из-под Windows. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 16:57
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
Может вам попробовать переписать её на Delphi (если нет желания полной смены платформы)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 17:25
|
|||
|---|---|---|---|
|
|||
Особенности программирования в WinXP |
|||
|
#18+
temperature457Может вам попробовать переписать её на Delphi (если нет желания полной смены платформы)? По правде сказать, у меня вообще мало желания заниматься программированием, т.к. это не моё дело. Но кроме меня тут этим заниматься никто не хочет и не будет. :-) Тем не менее, спасибо за советы. Драйверы на плату PCL-731 безусловно есть, надо залезть на диск к ней и почитать мануалы, ну и в инете поищу особенности обращения к железу через драйверы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.01.2008, 18:34
|
|||
|---|---|---|---|
Особенности программирования в WinXP |
|||
|
#18+
Где-то мне попадался универсальный драйвер портов ввода/вывода. Насколько я понимаю, при его использовании переделки готовой неизвестной проги будут минимальны - только заменить команды записи/чтения в/из портов на вызов этого драйвера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=16&mobile=1&tid=1345550]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
30ms |
get forum data: |
3ms |
get page messages: |
81ms |
get tp. blocked users: |
2ms |
| others: | 225ms |
| total: | 448ms |

| 0 / 0 |
