Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.16;
Скачать: CL | DM;

Вниз

не запускается прога в вин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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.041 c
3-1102832824
able
2004-12-12 09:27
2005.01.16
Получение текущей записи в DBGrid e


14-1104129374
Priest
2004-12-27 09:36
2005.01.16
Нужна литература


14-1104307084
NewDelpher
2004-12-29 10:58
2005.01.16
Куда пропал Дмитрий О.?


1-1104153382
Jay1982
2004-12-27 16:16
2005.01.16
Вызов из DLL


9-1092914672
Gandalf
2004-08-19 15:24
2005.01.16
Игровой проект