Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

не запускается прога в вин98. работаю в винХП,дельфи6. [D6, Win95/98, WinXP]


whiteswan ©   (2004-12-24 11:16:00) 

у меня моя прога тут не работает в вин98. не понимаю почему... ошибки при запуске и создании форм... у меня форм штук 28. все они создаются при старте программы и ексепшны возникают случайно то в одной то в другой форме... в винХП все ок.

появляется что то типа call function OS failed

мне тут намекнули что...

"Это не из-за создания форм. Если ошибка возникает спонтанно и каждый раз в разных местах - это наведённая ошибка. То есть ошибка в распределении памяти и доступа к ней, из-за чего сбивается стэк или таблица индексов в памяти и когда возникает какая-то критическая ситуёвина, то необходимый указатель указывает не туда - вот и шибка. Хренвая, кстати, ошибка. Очень трудно её найти. Нужно проверять пошагово начиная с файла проекта (dpr), Application.Init и т.д. И смотреть, чо там не так. Скорее всего какая-то АПИшная функция вызывается с параметрами, которые имеют иную конфигурацию типов, чем в НТ. :)"

кто что думает по этому поводу?


Bork   (2004-12-27 14:35:00) [1]


> whiteswan ©

Совет: выкинь ты 98 windows и делай под ХРень!!!


vic_774N   (2004-12-27 14:32:00) [2]

У меня похожая проблема, только наоборот.
Компилирую проект в ХР(rus). Работает и под 98(rus), но стоит только запустить под ХР(eng) - "Access Violation at address 004A5CEA in module 'vicplugman.exe'. Read of address FFFFFFFF."

Что ж мне теперь ХР стандартную (английскую) версию ставить ?
И в ней компилировать проэкт ?!


Плохиш   (2004-12-27 13:31:00) [3]


>whiteswan ©   (24.12.04 14:20) [12]

>мочилово то? да никак. приватные сами по себе. а остальные болтались... :-)

>все объекты в приватах формы - она форма сама потом и убивает. но это лишает объект всевидимости...

Ты бы эта, теорию почитал бы чтоли.


Anatoly Podgoretsky   (2004-12-27 13:18:00) [4]

Маст дай


whiteswan   (2004-12-27 08:22:00) [5]

да. стрельнули. :-) потому что они проверили в вин98 и говорят у нас нету ХП. блин...
:-)


Digitman   (2004-12-24 14:42:00) [6]


> но это не мешало работать корректно в винХП


угу.. вот не попробовал-бы под 98-м - и ведать не ведал бы, что на самом деле у тебя куча мемликов .. так и сдал бы заказчику "недоношенную прогу" .. и рано или поздно мемлики твои стрельнули бы заказчику в самое нехочу) .. несмотря на то что под ХР видимых "глюков" на первый взгляд вроде бы нет)


whiteswan   (2004-12-24 14:22:00) [7]

...но это не мешало работать корректно в винХП.
:-)


whiteswan   (2004-12-24 14:20:00) [8]

мочилово то? да никак. приватные сами по себе. а остальные болтались... :-)

все объекты в приватах формы - она форма сама потом и убивает. но это лишает объект всевидимости...


Digitman   (2004-12-24 13:57:00) [9]


> в дестрой формы поместил все мочилово объектов


а ДО того как ты "в дестрой формы поместил все мочилово объектов", как это самое "мочилово" у тебя организовано было ?


> кое какие в приваты перепихал чтоб сами заботились о себе


какое отношение область видимости идентификаторов класса ("приваты", надо понимать, это секция private класса формы ?) имеет к "озабоченности" ?


> одну форму лишнюю забанил


вот так, глядишь, и прочие 27 окажутся лишними).. чем черт не шутит)


whiteswan   (2004-12-24 13:35:00) [10]

"GDI и USER ресурсов в 98 прокатишь"
возможно... щас трассирую все формы...
вставил MemCheck - есть кое немного leaks - устранил - в дестрой формы поместил все мочилово объектов + кое какие в приваты перепихал чтоб сами заботились о себе...
+одну форму лишнюю забанил... проверил в вин98 - загрузилось с первого раза ок. со второго хренушки... но уже кое какой прогрес.. :-)))

млять мать их. :-)


DiamondShark   (2004-12-24 13:20:00) [11]


> логикой большого кол-ва форм (дескать надо меньше и все
> будет ок) тут не прокатишь.

А ссылкой на ограничение количества GDI и USER ресурсов в 98 прокатишь?


Digitman   (2004-12-24 12:01:00) [12]


> логикой большого кол-ва форм (дескать надо меньше и все
> будет ок) тут не прокатишь


насчет "надо меньше и все будет ок" - это уже ты домыслил)... я такого не говорил

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


Anatoly Podgoretsky   (2004-12-24 11:56:00) [13]

Ну как хочешь.
Наше дело предложить, ваше отказаться.


whiteswan   (2004-12-24 11:51:00) [14]

150 форм создать - это уже бардак. конечно... %/
если надо 150 то должно быть 150. что этому может помешать - в принципе ничего. нигде не написано что предел создаваемых форм 150. или 255 как предел байтового счетчика форм к примеру. но ведь счетчика нет. и предела нет. и не должно быть. другое дело что объем памяти ограничен. но адресное пр-во в 4ГБ  - это вполне достаточно для 150 форм.
если начинать создавать формы и сразу задумываться а сколько там их может быть вообще то проще тогда вообще без форм.
:-)
логикой большого кол-ва форм (дескать надо меньше и все будет ок) тут не прокатишь.
не будет ок. если и при 150 формах нет ок то и с одной его не будет.


Digitman   (2004-12-24 11:42:00) [15]


> но вот ежели надо 150 форм сразу!


нет ну а зачем ?
форма-то - прежде всего объект интерактивного взаимодействия с юзером .. у тебя что, юзер одновременно со 150-ю формами работает ? да у него крыша поедет от одного вида экрана с несметным количеством окон, он попросту запутается в них ..


> т.е. все формы пеервести из авто-креате в мануал?


все или не все, но автосоздание следует оставить только для тех форм, которые реально необходимы юзеру для начала работы .. нашута, спрашивается, создавать сотню форм, если юзер в сеансе работы с программой может быть даже ни разу и не обратится к интерфейсам большинства из них, попросту за ненадобностью ?

ты устрани хотя бы этот бардак - уже легче будет разбираться, что и где у тебя не слава богу в программе ..


whiteswan   (2004-12-24 11:34:00) [16]

ну а какая разница? понимаю что ресурсов при старте съешь меньше... но вот ежели надо 150 форм сразу! :-)

т.е. все формы пеервести из авто-креате в мануал?


Digitman   (2004-12-24 11:29:00) [17]


> форм штук 28. все они создаются при старте программы


зачем ты их столько плодишь ?
создавай и визуализируй их по реальной необходимости, а не всем скопом сразу, мол, авось пригодится ..


whiteswan   (2004-12-24 11:26:00) [18]

кто нить с подобным если сталкивался - что делал? мож какой отладчик поможет или отладочный модуль для дельфы чтоб всунуть в проект - вроде есть ведь какие то ловилки утечек памяти?


Digitman   (2004-12-24 11:20:00) [19]


> кто что думает по этому поводу?


а что тут думать ? правильно тебе намекнули ..


Наверх

Титульная страница Поиск, карта сайта Написать письмо