Форум » GUI » Собрано под XP - не работает под Win98 » Ответить

Собрано под XP - не работает под Win98

gustow: Извиняюсь, что, возможно, уже было (поискал на форуме - как-то не нашел). Ситуация такая: где-то с 2008го поддерживаю (иногда обновляя) программку на HMG (бежит по базе больных, выдает анализ по работе больниц за период в Excel). Всё пашет нормально, у клиентов нет вопросов. В начале января обновил (просто изменил ежегодную "затычку" по концу года - чтобы юзеры принудительно не забывали обновляться; больше ничего не менял; HMG 2.1.8+BCC, компилирование через "стандартный" Compile.bat, доп. библиотеки не подключаются, какие-то "спец-параметры" в батнике отсутствуют). Сам сижу под XP (еще год назад компилировал под 98й - чтобы с гарантией везде работало; сейчас "принудили" перейти жОстко под XP). Но!.. Обьявился один клиент, у которого 98я (и почему-то там не может "под XP или выше" крутить задачу) - и у него при попытке открытия первой же базы (обычным USE; база DBF/NTX) вылетает по "DOS Error 6" (неверный дескриптор файла). Попробовал на соседской старой машине (обычная Win98SE) - действительно вылетает. Может, есть какой-то вариант - опции компилятора (у меня "стандартная сборка Григория": HMG для BCC), еще что-то - чтобы не задумываться над этим? чтобы скомпилировать под XP, а под той же 98й тоже нормально работало? Конечно, в данном случае "на коленке" разово решу (достану старую тачку с полатей - с 98й, установлю свежий HMG, перекомпильну, пошлю клиенту) - но хотелось бы забыть про такое (если возможно).

Ответов - 7

Pasha: Здесь критична версия харбора. У меня точно такая же ошибка возникала при запуске под win98 в 2011 году. Это связано с юникодной сборкой харбора. С весны 2012 года поддерживается только юникодная сборка харбора. Я проверял запуск программ под win98 с этой сборкой - уже ошибки не было. Правдя, я проверял с компилятором mingw. С bcc55 я тоже собирал харбор, но работоспобность под win98 не проверял, поскольку сейчас трудно найти живую win98, она уже перешла в статус редких ископаемых ОС :) Собирать харбор надо штатными средствами, с помощью hbmk2. Алексей, Вы пможете скачать мой dbеdit (ссылка есть в соответствующей теме), там есть сборка под bcc55, и запустить ее под win98. Если запустится - значит, дело именно в этом.

gfilatov2002: Алексей пишет: Собрано под XP - не работает под Win98 Именно так Алексей пишет: установлю свежий HMG, перекомпильну, пошлю клиенту Для правильной работы программы под Win98 я сделал еще несколько изменений: - добавил следующую строку в батник Compile.bat: echo %MV_HRB%\lib\unicows.lib + >> _temp.rsp - отремил #define __WIN98__ и #undef __WIN98__ в файле include\i_pseudofunc.ch для корректной работы с буфером обмена Винды. Pasha пишет: сейчас трудно найти живую win98, она уже перешла в статус редких ископаемых ОС Да, все так... Алексей пишет: чтобы скомпилировать под XP, а под той же 98й тоже нормально работало? Это можно решить, если использовать ANSI сборку Харбора. Последняя такая сборка была включена в Minigui EE версии 2.1.0

gustow: Мдяяя...... Вот о таком примерно я, в частности, и упоминал, как о "дурацких чайниковских вопросах", нынче в Harbour для начинающих... Что нет систематизированного ЧаВо, в частности... Проще пользователю сказать, чтобы перетащил прогу (и клипперную, где данные загоняются, и эту - "анализирующую" данные в базах в той же папке) на машину с XP да настроил там CONFIG.NT и AUTOEXEC.NT за 2 минуты (для клипперной проги)... Так, видимо, и поступлю. Значит, "обратной дороги нет".... Ну что ж. :( А "живые 98е" еще вполне встречаются (например, в больничках Свердловской области) ;) И все равно - спасибо за помощь! И все равно: Харбор - это весчь!! :)


nick_mi: Ну вообще-то у меня программы собранные HARBOUR (3.0.0 (Rev. 16951)) под XP, работают и на WIN98.подставил библиотеку UNICOWS.DLL и конечно же добавил в HRB указание -lunicows

gustow: nick_mi , т.е. (как я понял), достаточно: 1) при сборке (через тот же "стандартный" COMPILE.BAT) указывать в списке параметров "-lunicows" (в моем COMPILE.BAT, вызывающем "минигуёвский" COMPILE.BAT и передающем ему список параметров) 2) ...что значит "подставил библиотеку UNICOWS.DLL"? что мне рекомендовать сделать юзеру, который такую (собранную с Unicows.Lib) захочет под 98й запускать? Я должен ему вместе с EXшником заслать Unicows.DLL (взятую - где?)? или он может/должен откуда-то ее взять? и куда ее положить в 98й? в \windows\System? или "рабочую папку" программы? (просто хочу точно представить последовательность действий - и несколько туплю, видимо ;) ) На работоспособность под XP такая сборка программы не повлияет? (конечно, говоря юзеру: "А эту Unicows.DLL никуда не суй, просто выкинь - тебе она не нужна")

nick_mi: У меня в том директории, где лежат мои .EXE, лежит и файл UNICOWS.DLL, я его скачал из интернета, и туда положил. Для XP он вроде не нужен, по крайней мере я пробовал у меня работает и без него, хотя .exe собран с unicows. Как UNICOWS.DLL доставить пользователю, вам решать. Либо вы его сами будете отправлять и ложить в рабочий директорий, либо заставлять это делать пользователей, чтобы он сам качал из интернета и ложил в \system32 . Я считаю, что должен UNICOWS.DLL поставлять сам, ну а там уж кто как организует.

gustow: nick_mi , спасибо, понял - буду на всякий случай знать, как действовать "старым казацким способом" ;)



полная версия страницы