Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];




Вниз

Вовместимость 


Дядька Форгер   (2001-09-27 08:13) [0]

Народ :)Как узнать, будет ли работать под какой то ОС твоя программа или нет ?
я сделал прогу в 98-х, она соотв кроме 98-х и МЕ не идет нигде :)
т.е. в МЕ с небольшимми глюками, в 95-м тоже с небольшими, а в нт, 2000 и хп вообще не идет :)
как узнать из за чего, и как с этим бороться ?
Я думал дельфи таким не страдает..



olega   (2001-09-27 08:48) [1]

дельфи таким действительно не страдает...:)
все зависит от проги. Чё за прога то?:)



Михаил Зенкин   (2001-09-27 13:19) [2]

Напиши хотябы - что конкретно не идет?



Andrey Klimov   (2001-09-27 14:27) [3]

Траблы возникают когда используешь те или иные функции или процедуры, скажем, из WinAPI, или в результате использования специфических функций... яркий пример - форматирование дискеты. И под 9x и под NT используются CreateFile(...), и функции IOCTL, но по разному (!). Узнать совместимость можно нажав на F1, если это функция WinAPI, в справке дается описание совместимости функции под ту или иную платформу.



Дядька Форгер   (2001-09-27 20:33) [4]

Программа - директ мэйлер , если упростить.....
4 потока,
один постоянно ищет NS записи,
2-й - проверяет новые,
3-й - отправляет.
4-й - это как я понмаю сама прога :)

использует созданиеудаление файлов, ТвебБроузер, и пару сторонних компонент (Sinapse) для отправки мыла и вычисления НС записей.

Прога конечно корявая,
но все равно непонятно :)

Посмотрите, есть инсталляшка на
http://office.dixis.ru/confirmailer/

Буду признателен за любую помощь



y-soft   (2001-09-27 21:55) [5]

Беда известная. Выход - программно определять версию Windows и выполнять для каждой версии свой код (подробности о различиях в MSDN)
Удачи.



Дядька Форгер   (2001-09-28 02:58) [6]

а как узнать какой именно код не работает в той или иной ОС ?
перебирать исходники компонентов ? смотреть где какая функция и смотреть на ее ограничения в мсдн - это ж крякнуться можно, годы уйдут :)



Станислав   (2001-09-28 10:19) [7]

Function IsNT:boolean;//проверяем платформу NT или нет
var
verinfo:OSVERSIONINFO;
begin
verinfo.dwOSVersionInfoSize:=SIZEOF(OSVERSIONINFO);
result:=false;
GetVersionEx(verinfo);
if verinfo.dwPlatformId=VER_PLATFORM_WIN32_NT then Result:=true;
end;



Дядька Форгер   (2001-09-28 19:44) [8]

Оно, конечно, спасибо :)
Но даже если я знаю на чем запусается программа то не знаю на чем глючит и бсд выдает :)



y-soft   (2001-09-28 21:27) [9]

А под отладчиком на разных Windows? Или вставить в подозрительные места Assert? Try Except? А иначе IMHO никак



Дядька Форгер   (2001-09-29 17:46) [10]

гмм... так если какая то фича не работает под НТ, то даже если ее со всех сторон ограничить try except и прочими - и она запустится без показа ошибок - работоспособнее от этого имхо программа не станет...
нужно вычислить что именно не работает под нт итд.
только отладчики остаются ?
я думаю поставить себе все операционки, на каждую - дельфи и скомпилировать под каждую ос свою версию



Anatoly Podgoretsky   (2001-09-29 18:17) [11]

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



Andrey Klimov   (2001-09-29 18:59) [12]

Ставишь курсор на функции WinAPI и жмешь F1, далее, в справке щелкаешь по меню Quick Info где сказано, где идет, а где нет. Если ты используешь сторонние компоненты без исходников, возможно ты не докопаешься до сути.

А вообще-то не помешало бы знать хотя бы в минимальном объеме WinAPI.

Наверняка используются вызовы ToolHelp. Под NT платформой, конечно не пойдет. Под NT надо использовать PSAPI. Это я в качестве примера...



y-soft   (2001-09-29 21:49) [13]

>Дядька Форгер
Я предлагал не скрывать ошибки, а как раз наоборот - показывать, где они происходят.
Может тогда легче станет :)



VRussian   (2001-09-30 11:57) [14]

Во-во, и у меня такая трабла Сайт, написанный под
IExplorer не работает на NetScap-e, оптимизируешь
под Netscape - не работает на IE.

А если оптимизировать и под NN и под IE, то всё-равно
на какой-нибудь Опере работать не будет.

А ведь есть ещё Arachne, Lynx и т.д. и т.п.

Теперь, представь, что IE- это Win95, NN- WinNT,
Opera-WinME, а Lynx - это ,скажем, ну допустим Linux.

Под все платформы заточить невозможно! Не стоит и стараться.
Так можно и всю жизнь потратить оптимизируя код под ВСЕ платформы.

Web-мастера в таких случаях оптимизируют под самые распространённые
платформы, а если под какую не получилось - пишут, дескать, сайт
оптимизированн только под такую платформу.

Многие известные создатели ПО так и делают, взять хотя бы
те же антивирусы...


З.Ы. Кстати, мне известна одна программа,
которая работает под DOS,WIn3.11, Win3x, WinNT и MacOS (!)
да и та- вирус.


We are to make the World better...



VRussian   (2001-10-01 20:09) [15]

А вообще-то "ВОВМЕСТИМОСТЬ" - это сколько
в программу кода помещается да?

We are to make the World better...



Дядька Форгер   (2001-10-02 04:41) [16]

Восместимость - это опечатка :)
сторонних компонент использую всего 2
о винапи имею достаточно расмытое представление :)
(в свое время пользовал книжку "разработка приложений на С для виндовс 3.1 :)
затачивать под все версии не зочется, так же как и искать что именно не работает, т.к. это означает остановку. Проще по моему сейчас сделать пару версий под основные ОС, потом основательно напрячься и засесть за учебу :)
я уже писал тут, что идей уйма :) охладеваешь к оным, когда реализация подходит к финалу, уже наверное лень чтоли.. другие зовут

Я просто и начал эту ветвь из за того, что точно знаю что проблема не в сторонних компонентах, а в том, что пользуясь фактически только стандартными средствами дельфи я получил несовместимый код :)
Тут действительно или каждую строку в справочнике проверять - или компилировать под разными ОС, или писать без компонент вообще, зная точно что где будет работать или нет.




Форум: "Система";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.17;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.75 MB
Время: 0.022 c
1-52527           tovSuhov              2001-12-27 14:30  2002.01.17  
Люди!!! Вот такой вопрос...


6-52627           KLM                   2001-09-28 10:11  2002.01.17  
Кодировка почты


7-52673           Vladimir Gorkov       2001-09-28 08:33  2002.01.17  
Создание/Добавление виртуального диска в систему


3-52521           Anvarchik             2001-12-17 14:48  2002.01.17  
TField и замена текста при открытии.


1-52590           Д_Россиев             2001-12-29 13:25  2002.01.17  
RX для D6