forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Неполная совместимость старой программы (http://forum.boolean.name/showthread.php?t=4803)

Diplomat 18.10.2007 18:13

Неполная совместимость старой программы
 
Старая-престарая обучающая программа, созданная на заре моей карьеры и откомпиленная еще в версии 1.67, перестала запускаться на части новых рабочих машин. Что, исходя из ёё возраста, было весьма ожидаемо.
Беда заключается в том, что программа до сих пор достаточно активно использовалась и по идее должна использоваться впредь. А ёйные исходники, полностью следуя законам Мерфи, радостно и уже давно канули в Лету, или иную хрень ёё заменяющую.
Вопрос: как заставить программу вновь работать на новых машинах?

Переписать код с нуля? - А кто мне за это будет платить?
Воспользоваться декомпилером?- Не завалялась ли у кого-нибудь парочка декомпилеров для Блиц-программ?
...
В общем, буду благодарен за любые полезные советы. )

dimanche13 18.10.2007 18:16

Re: Неполная совместимость старой программы
 
а если режим совместимости поставить... будет работать?

Diplomat 18.10.2007 18:34

Re: Неполная совместимость старой программы
 
Цитата:

а если режим совместимости поставить... будет работать?
Очевидно, нет. )
Несовместимость старых Блицев с новыми машинами - явление комплексное, самодостаточное и на какой-то там "Режим совместимости" как правило плююще с Ёйфелёвой колокольни.

dimanche13 18.10.2007 18:41

Re: Неполная совместимость старой программы
 
тогда вариант пустить под дебаггером и трассировать до ошибки, дальше по обстоятельствам )))

SBJoker 18.10.2007 18:41

Re: Неполная совместимость старой программы
 
Diplomat, всё просто.

1. Компилим в блитз 3д свежей версии пустой исходник...ну или из пары строчек.
2. ResHacker'ом из старого экзешника сохраняем в res-файл все его ресурсы... ну можно невесь а например только ресурс rcdata (вроде).
3. Опятьже резхакером открваем новый экзешник (тот что из пустого исходника) и импортируем туда полученый ранее res файл. Сохраняем..

Вуаля наша программа откомпилена на свежей версии блитца и должна работать.

ЛысыЙ_Чук-Иванчук 18.10.2007 19:12

Re: Неполная совместимость старой программы
 
но если блиц юзает библы, то могет не прокатить(разные версии по разному хронят инф. в памяти;)).

Diplomat 18.10.2007 21:10

Re: Неполная совместимость старой программы
 
2 SBJoker : Спасибо, изящное решение! )
Правда в моём случае оно не работает. Пробовал перегонять старый ресурс в ЕХЕ-шники версий от 1.91 до 1.99 - по нулям. Запуск, чОрный экран, завершение работы без сообщений об ошибках. Ни на работу оригинальной программы, ни на работу "пустого кода" не похоже. И так на всех машинах.
В остальных случаях метод работает нормально: если таким же образом пропускать через РесХакер более новые Блицевские ЕХЕ-шники - всё работает штатно...
Оригинальная "старая" программа штатно работает на всех компах, кроме новых и машин заказчегофф- т.е. тех машин, где она работать должна. )))

tormoz 18.10.2007 21:28

Re: Неполная совместимость старой программы
 
Что за программа ?

Diplomat 18.10.2007 23:09

Re: Неполная совместимость старой программы
 
3Д-обучалка. ПорядокЛиквидацииАаварийныхСитуаций в форме небольшого адвенчура от первого лица. Внешних библиотек не использует. Нестабильных функций - тоже не использует.
Просто версия старая... или компы убитые. Или и то, и другое.
На моих личных машинах работает нормально, что, впрочем, никак ёё не извиняет.

SBJoker 18.10.2007 23:15

Re: Неполная совместимость старой программы
 
гм..а на новых машинах дерикт икс как таковой вообще есть?

Diplomat 19.10.2007 00:26

Re: Неполная совместимость старой программы
 
На "новых"- АХрИЗн, я их в глаза не видел.
На старых- всё есть. Более того- оно не только ест, но иногда даже работает. Ибо аналоги запускаются нормально.
Глюки программы исключены: в меру своих сил она безглючно работала годами, а ёё полная копия и сейчас рабоает на моих машинах.

tormoz 19.10.2007 01:25

Re: Неполная совместимость старой программы
 
Интересно, что ты там используешь, может длл какую то ?

ЛысыЙ_Чук-Иванчук 19.10.2007 14:01

Re: Неполная совместимость старой программы
 
Tormoz-
Цитата:

Сообщение от Diplomat
Внешних библиотек не использует. Нестабильных функций - тоже не использует.


tormoz 19.10.2007 18:25

Re: Неполная совместимость старой программы
 
- Шо, машина не едет ?
- Да вот не едет...
- А стекло тряпочкой протирал ?
- Да
- А музыку громче делал ?
- Конечно !
- А колеса ногой пинал ?
- Пинал. все ноги отбил !
- Ну, тогда не знаю...

Попробуй другой прогой менять ресурсы. я ResHacker-ом делал

Diplomat 20.10.2007 00:56

Re: Неполная совместимость старой программы
 
Попробовал- не помогло. В общем, случай оказался клинническим, ибо для всех остальных- описанный метод отлично работает.
...
В итоге проблемма решена фирменным анально-реверсивным способом: убитый трехлетней давности КД-РВ с бекапами был пропущен через несколько восстанавливающих софтин. Половина данных с него прочиталась, на выходе выдав кашу из 1028 файлов с произвольными именами и расширениями. Заботливо вручную проглядев их через НортонКомандеровский просмотрщик (это быстрее, чем Блокнотом), я выковырял из этой каши почти все исходники программы, а недостающие- дописал на коленке по принципу "ну его туды в качель". Программа откомпилена в 199-й версии и вернулась в строй. Итого- всего лишь 36 часов головной боли, глаза, полные песка, и один из КД-приводов, переставший нормально работать от перегруза.
Товарищи! Не делайте как я! Наоборот- делайте надёжные бекапы всех сколь-нибудь значимых данных!
...
Всем, кто пытался помочь- большое спасибо! )


Часовой пояс GMT +4, время: 04:01.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot