|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
В проекте порядка 160 форм и 170 юзерконтролов, ну и некоторая россыпь классов, модулей и т.п., При компиляции стало возникать Out of memory. Иногда ошибка в конкретной форме, в логе формы "не удалось загрузить контрол", зачастую опять же сопровождаемая последующим Out of memory. Физической памяти с запасом (гиг еще свободен), место на диске есть. На всякий случай увеличил лимит GDI-объектов на процесс - не помогло. Удалил четыре старых неиспользуемые формы - скомпилировалось. Кто нить работал с проектами такого размера на VB6? поделитесь опытом, сталкивались ли с подобными проблемами, как решали? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 18:03 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
работал, делил на разные dll/ocx и уменьшал общее кол-во контролов на одной форме ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 18:06 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
А в какое ограничение я уперся? Количество public-объектов? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 18:08 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
уже точно не вспомню, но кажется что-то близко к 1 тыс контролов на загруженных формах в один момент времени. пришлось выделять отдельные куски форм в отдельные проекты ocx и частично переходить на плагин-систему с погрузкой форм из dll ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 18:11 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
c GDI тоже были проблемы, но они решаются в принципе увеличением оперативки и настройками, что ты ранее писал ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 18:12 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Konst_Oneна загруженных формах в один момент времениа что это значит в контексте компиляции проекта? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 18:13 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
делаем из одного большого проекта солюшен из нескольких мелких ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2015, 18:15 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Shocker.ProКто нить работал с проектами такого размера на VB6? поделитесь опытом, сталкивались ли с подобными проблемами, как решали? Там слишком длинная строка со списком объектов передается в компилятор и линкер. Она вроде не может быть длинее 1024 символов, если не компилится можно перенести проект в папку C:\1\MyProject.vbp и попробовать скомпилировать. Часто это помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 12:20 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
переписываем на .net/java/дельфи ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 12:28 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Antonariyпереписываем на .net/java/дельфи автор 160 форм и 170 юзерконтролов, авторпереписываем ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 12:34 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
только конвертатор, только хардкор! ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 12:44 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Antonariyтолько конвертатор, только хардкор! рабочих конвертеров из VB6 в .NET не существует, все что есть чистой воды лохотрон ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 12:47 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
EoltAntonariyтолько конвертатор, только хардкор! рабочих конвертеров из VB6 в .NET не существует, все что есть чистой воды лохотронкак это не существует? в студиях 2001-2005 есть. само собой, он не выдаст 100% рабочий проект, особенно изобилующий апи и массивами контролов, но для начала сойдет. если это клиент БД, то базовый интерфейс редактирования табличек я бы просто сгенерировал. особенно в этом плане перспективно использование wpf, поскольку его интерфейс можно десериализовать из xml, который удобно генерить с помощью xsl. при наличии готовой архитектуры простейший интерфейс заработал бы в течении пары часов. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 13:17 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Antonariyкак это не существует? в студиях 2001-2005 есть. само собой, он не выдаст 100% рабочий проект, особенно изобилующий апи и массивами контролов, но для начала сойдет. Проблема что они не выдадут и на 10% рабочий проект. У меня в ядре каждого VB6 проекта залежи VarPtr, StrPtr, ObjPtr, AddressOf, CopyMemory, API, etc. Все это никак не будет сконвертировано. Что толку если треть форм проекта как-то криво перенесутся в .NET? Это ничего не решает. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 13:55 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Shocker.Pro, Только одно решение - выносить в ocx/dll А про переписывание - мы стали писать на .Net юзерконтролы и включать их в mdi. В результате получается делать миграцию "очень постепенно". Переписать это все разово - невозможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 14:59 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Попробуй увеличить размер стека в PE заголовке VB6.EXE ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 16:38 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
AntonariyпереписываемdvimА про переписывание - мы стали писать на .Net юзерконтролы и включать их в mdi. В результате получается делать миграцию "очень постепенно". Переписать это все разово - невозможно.я бы с удовольствием переписал все на WPF+C#, тем более там накоплен огромный технический долг. Но мне рассказывают, что этот пятнадцатилетний проект будет закрыт, что с нуля напишут новый красивее, быстрее, функциональнее.... уже два года рассказывают, а функционал дорабатывать просят. Так что работаю с тем, что есть ) ATM-TURBO 2Попробуй увеличить размер стека в PE заголовке VB6.EXEизвини, я эта... ничонипонил короче... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 19:25 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
EoltAntonariyкак это не существует? в студиях 2001-2005 есть. само собой, он не выдаст 100% рабочий проект, особенно изобилующий апи и массивами контролов, но для начала сойдет. Проблема что они не выдадут и на 10% рабочий проект. У меня в ядре каждого VB6 проекта залежи VarPtr, StrPtr, ObjPtr, AddressOf, CopyMemory, API, etc. Все это никак не будет сконвертировано. Что толку если треть форм проекта как-то криво перенесутся в .NET? а я конвертировал проект объемом в те же условные "160 форм и 170 юзерконтролов", правда без форм, контролов, указателей и апи (это dll-вебсервер), так он завелся с пол-пинка :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 19:59 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Shocker.Proизвини, я эта... ничонипонил короче... http://citforum.ru/programming/windows/machine_code/3.shtml ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 20:00 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Хм, я вернул четыре удаленные формы взад, да еще добавил до кучи парочку, но проект теперь компилируется без проблем. Так что попробовать все ваши советы не на чем (( Придется ждать следующего инцидента. EoltТам слишком длинная строка со списком объектов передается в компилятор и линкер. Она вроде не может быть длинее 1024 символов, если не компилится можно перенести проект в папку C:\1\MyProject.vbp и попробовать скомпилировать. Часто это помогает.Я попробовал наоборот - удлинить путь к проекту, но и это не привело к ошибке. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.10.2015, 21:30 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Еще можно пропатчить все экзешники VB-компилятора и IDE, чтобы им было доступно 3Гб памяти при запуске. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.10.2015, 08:53 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Shocker.Pro,я бы с удовольствием переписал все на WPF+C#, тем более там накоплен огромный технический долг. Но мне рассказывают, что этот пятнадцатилетний проект будет закрыт, что с нуля напишут новый красивее, быстрее, функциональнее.. Ну мы на Forms пишем... а закрывать проект такого масштаба у нас нереально. Пока "переписыватели" из конкурентов метались delphi-java-1c - заканчивалось все плачевно, для самого бизнеса. Потому и идем путем интеграционного изменения. Не знаю, интересно ли вообще "это" людям - подход, при котором в 1 декстоп системе уживается NEt с Vb6... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.10.2015, 13:15 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
У меня была подобная проблема. Я собирал как плюшкин все в один проэкт. Где-то минимум 5 или больше лет назад обращался на форум. Ругаться VB6 начал, когда я использовал много контролов на одной из форм. Несколько контролов были в массиве. Решил проблему через клонирование элементов в программном коде. Кроме этого, после того случая, решил разделить все проекты отдельно. Все модули и классы собрал в отдельную папку. В каждый новый проект удобно подключать готовые функции из общака. Формы также можна использовать общие на разные проэкты. Новые исправления в модулях действуют сразу на все проекты. В лимит форм не упирался. В одном проекте насчитал 82 формы. И то где-то 30 форм имеют характер "настройка программы". ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2015, 19:00 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
С dll не связывался, так как есть новые идеи, каждый раз открывать dll проект было неудобно. Потом его нужно скомпилировать. Снова открыть главный проект. И если выскочит ошибка. Снова по новому. Удобней приостановить код и в debug под микроскопом искать проблему чем с dll. Хватает того гимора, что 4 компилированных проекта общаются между собой по UDP. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2015, 19:05 |
|
VB6: Out Of Memory при компиляции - я достиг края земли?
|
|||
---|---|---|---|
#18+
Андрей159использовал много контролов на одной из формну это я прошел еще под Win98, там вообще с утечками ресурсов было пожестче. На мой взгляд, если контролов на форме слишком много, это требует рефакторинга интерфейса, ибо что-то здесь не так. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2015, 20:01 |
|
|
start [/forum/topic.php?fid=60&msg=39076811&tid=2155725]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
108ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 211ms |
0 / 0 |