Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Внизне запускается прога в вин98. работаю в винХП,дельфи6. Найти похожие ветки
← →
whiteswan © (2004-12-24 11:16) [0]у меня моя прога тут не работает в вин98. не понимаю почему... ошибки при запуске и создании форм... у меня форм штук 28. все они создаются при старте программы и ексепшны возникают случайно то в одной то в другой форме... в винХП все ок.
появляется что то типа call function OS failed
мне тут намекнули что...
"Это не из-за создания форм. Если ошибка возникает спонтанно и каждый раз в разных местах - это наведённая ошибка. То есть ошибка в распределении памяти и доступа к ней, из-за чего сбивается стэк или таблица индексов в памяти и когда возникает какая-то критическая ситуёвина, то необходимый указатель указывает не туда - вот и шибка. Хренвая, кстати, ошибка. Очень трудно её найти. Нужно проверять пошагово начиная с файла проекта (dpr), Application.Init и т.д. И смотреть, чо там не так. Скорее всего какая-то АПИшная функция вызывается с параметрами, которые имеют иную конфигурацию типов, чем в НТ. :)"
кто что думает по этому поводу?
← →
Digitman © (2004-12-24 11:20) [1]
> кто что думает по этому поводу?
а что тут думать ? правильно тебе намекнули ..
← →
whiteswan © (2004-12-24 11:26) [2]кто нить с подобным если сталкивался - что делал? мож какой отладчик поможет или отладочный модуль для дельфы чтоб всунуть в проект - вроде есть ведь какие то ловилки утечек памяти?
← →
Digitman © (2004-12-24 11:29) [3]
> форм штук 28. все они создаются при старте программы
зачем ты их столько плодишь ?
создавай и визуализируй их по реальной необходимости, а не всем скопом сразу, мол, авось пригодится ..
← →
whiteswan © (2004-12-24 11:34) [4]ну а какая разница? понимаю что ресурсов при старте съешь меньше... но вот ежели надо 150 форм сразу! :-)
т.е. все формы пеервести из авто-креате в мануал?
← →
Digitman © (2004-12-24 11:42) [5]
> но вот ежели надо 150 форм сразу!
нет ну а зачем ?
форма-то - прежде всего объект интерактивного взаимодействия с юзером .. у тебя что, юзер одновременно со 150-ю формами работает ? да у него крыша поедет от одного вида экрана с несметным количеством окон, он попросту запутается в них ..
> т.е. все формы пеервести из авто-креате в мануал?
все или не все, но автосоздание следует оставить только для тех форм, которые реально необходимы юзеру для начала работы .. нашута, спрашивается, создавать сотню форм, если юзер в сеансе работы с программой может быть даже ни разу и не обратится к интерфейсам большинства из них, попросту за ненадобностью ?
ты устрани хотя бы этот бардак - уже легче будет разбираться, что и где у тебя не слава богу в программе ..
← →
whiteswan © (2004-12-24 11:51) [6]150 форм создать - это уже бардак. конечно... %/
если надо 150 то должно быть 150. что этому может помешать - в принципе ничего. нигде не написано что предел создаваемых форм 150. или 255 как предел байтового счетчика форм к примеру. но ведь счетчика нет. и предела нет. и не должно быть. другое дело что объем памяти ограничен. но адресное пр-во в 4ГБ - это вполне достаточно для 150 форм.
если начинать создавать формы и сразу задумываться а сколько там их может быть вообще то проще тогда вообще без форм.
:-)
логикой большого кол-ва форм (дескать надо меньше и все будет ок) тут не прокатишь.
не будет ок. если и при 150 формах нет ок то и с одной его не будет.
← →
Anatoly Podgoretsky © (2004-12-24 11:56) [7]Ну как хочешь.
Наше дело предложить, ваше отказаться.
← →
Digitman © (2004-12-24 12:01) [8]
> логикой большого кол-ва форм (дескать надо меньше и все
> будет ок) тут не прокатишь
насчет "надо меньше и все будет ок" - это уже ты домыслил)... я такого не говорил
а вот твоя логика должна была лишь "домыслить" мою идею :
- порядок вызова конструкторов форм (при их массированном автосоздании) в ран-тайм вполне м.б. критичным
- разные формы у тебя вполне могут как-то асинхронно в взаимодействовать между собой (вполне возможно, что ты об этом даже не догадываешься или упускаешь из виду), и здесь (при асинхронности взаимодействия) встает во весь рост вопрос времени и порядка исполнения того или иного участка кода
← →
DiamondShark © (2004-12-24 13:20) [9]
> логикой большого кол-ва форм (дескать надо меньше и все
> будет ок) тут не прокатишь.
А ссылкой на ограничение количества GDI и USER ресурсов в 98 прокатишь?
← →
whiteswan © (2004-12-24 13:35) [10]"GDI и USER ресурсов в 98 прокатишь"
возможно... щас трассирую все формы...
вставил MemCheck - есть кое немного leaks - устранил - в дестрой формы поместил все мочилово объектов + кое какие в приваты перепихал чтоб сами заботились о себе...
+одну форму лишнюю забанил... проверил в вин98 - загрузилось с первого раза ок. со второго хренушки... но уже кое какой прогрес.. :-)))
млять мать их. :-)
← →
Digitman © (2004-12-24 13:57) [11]
> в дестрой формы поместил все мочилово объектов
а ДО того как ты "в дестрой формы поместил все мочилово объектов", как это самое "мочилово" у тебя организовано было ?
> кое какие в приваты перепихал чтоб сами заботились о себе
какое отношение область видимости идентификаторов класса ("приваты", надо понимать, это секция private класса формы ?) имеет к "озабоченности" ?
> одну форму лишнюю забанил
вот так, глядишь, и прочие 27 окажутся лишними).. чем черт не шутит)
← →
whiteswan © (2004-12-24 14:20) [12]мочилово то? да никак. приватные сами по себе. а остальные болтались... :-)
все объекты в приватах формы - она форма сама потом и убивает. но это лишает объект всевидимости...
← →
whiteswan © (2004-12-24 14:22) [13]...но это не мешало работать корректно в винХП.
:-)
← →
Digitman © (2004-12-24 14:42) [14]
> но это не мешало работать корректно в винХП
угу.. вот не попробовал-бы под 98-м - и ведать не ведал бы, что на самом деле у тебя куча мемликов .. так и сдал бы заказчику "недоношенную прогу" .. и рано или поздно мемлики твои стрельнули бы заказчику в самое нехочу) .. несмотря на то что под ХР видимых "глюков" на первый взгляд вроде бы нет)
← →
whiteswan © (2004-12-27 08:22) [15]да. стрельнули. :-) потому что они проверили в вин98 и говорят у нас нету ХП. блин...
:-)
← →
Anatoly Podgoretsky © (2004-12-27 13:18) [16]Маст дай
← →
Плохиш © (2004-12-27 13:31) [17]
>whiteswan © (24.12.04 14:20) [12]
>мочилово то? да никак. приватные сами по себе. а остальные болтались... :-)
>все объекты в приватах формы - она форма сама потом и убивает. но это лишает объект всевидимости...
Ты бы эта, теорию почитал бы чтоли.
← →
vic_774N (2004-12-27 14:32) [18]У меня похожая проблема, только наоборот.
Компилирую проект в ХР(rus). Работает и под 98(rus), но стоит только запустить под ХР(eng) - "Access Violation at address 004A5CEA in module "vicplugman.exe". Read of address FFFFFFFF."
Что ж мне теперь ХР стандартную (английскую) версию ставить ?
И в ней компилировать проэкт ?!
← →
Bork (2004-12-27 14:35) [19]
> whiteswan ©
Совет: выкинь ты 98 windows и делай под ХРень!!!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.04 c