Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6: Out Of Memory при компиляции - я достиг края земли? / 25 сообщений из 31, страница 1 из 2
14.10.2015, 18:03
    #39076796
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
В проекте порядка 160 форм и 170 юзерконтролов, ну и некоторая россыпь классов, модулей и т.п.,

При компиляции стало возникать Out of memory. Иногда ошибка в конкретной форме, в логе формы "не удалось загрузить контрол", зачастую опять же сопровождаемая последующим Out of memory.

Физической памяти с запасом (гиг еще свободен), место на диске есть. На всякий случай увеличил лимит GDI-объектов на процесс - не помогло.

Удалил четыре старых неиспользуемые формы - скомпилировалось.


Кто нить работал с проектами такого размера на VB6? поделитесь опытом, сталкивались ли с подобными проблемами, как решали?
...
Рейтинг: 0 / 0
14.10.2015, 18:06
    #39076797
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
работал, делил на разные dll/ocx и уменьшал общее кол-во контролов на одной форме
...
Рейтинг: 0 / 0
14.10.2015, 18:08
    #39076798
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
А в какое ограничение я уперся? Количество public-объектов?
...
Рейтинг: 0 / 0
14.10.2015, 18:11
    #39076801
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
уже точно не вспомню, но кажется что-то близко к 1 тыс контролов на загруженных формах в один момент времени. пришлось выделять отдельные куски форм в отдельные проекты ocx и частично переходить на плагин-систему с погрузкой форм из dll
...
Рейтинг: 0 / 0
14.10.2015, 18:12
    #39076804
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
c GDI тоже были проблемы, но они решаются в принципе увеличением оперативки и настройками, что ты ранее писал
...
Рейтинг: 0 / 0
14.10.2015, 18:13
    #39076805
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Konst_Oneна загруженных формах в один момент времениа что это значит в контексте компиляции проекта?
...
Рейтинг: 0 / 0
14.10.2015, 18:15
    #39076811
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
делаем из одного большого проекта солюшен из нескольких мелких
...
Рейтинг: 0 / 0
16.10.2015, 12:20
    #39078500
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Shocker.ProКто нить работал с проектами такого размера на VB6? поделитесь опытом, сталкивались ли с подобными проблемами, как решали?

Там слишком длинная строка со списком объектов передается в компилятор и линкер. Она вроде не может быть длинее 1024 символов, если не компилится можно перенести проект в папку C:\1\MyProject.vbp и попробовать скомпилировать. Часто это помогает.
...
Рейтинг: 0 / 0
16.10.2015, 12:28
    #39078512
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
переписываем на .net/java/дельфи
...
Рейтинг: 0 / 0
16.10.2015, 12:34
    #39078521
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Antonariyпереписываем на .net/java/дельфи

автор 160 форм и 170 юзерконтролов,

авторпереписываем
...
Рейтинг: 0 / 0
16.10.2015, 12:44
    #39078539
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
только конвертатор, только хардкор!
...
Рейтинг: 0 / 0
16.10.2015, 12:47
    #39078545
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Antonariyтолько конвертатор, только хардкор!

рабочих конвертеров из VB6 в .NET не существует, все что есть чистой воды лохотрон
...
Рейтинг: 0 / 0
16.10.2015, 13:17
    #39078576
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
EoltAntonariyтолько конвертатор, только хардкор!

рабочих конвертеров из VB6 в .NET не существует, все что есть чистой воды лохотронкак это не существует? в студиях 2001-2005 есть. само собой, он не выдаст 100% рабочий проект, особенно изобилующий апи и массивами контролов, но для начала сойдет.

если это клиент БД, то базовый интерфейс редактирования табличек я бы просто сгенерировал. особенно в этом плане перспективно использование wpf, поскольку его интерфейс можно десериализовать из xml, который удобно генерить с помощью xsl. при наличии готовой архитектуры простейший интерфейс заработал бы в течении пары часов.
...
Рейтинг: 0 / 0
16.10.2015, 13:55
    #39078617
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Antonariyкак это не существует? в студиях 2001-2005 есть. само собой, он не выдаст 100% рабочий проект, особенно изобилующий апи и массивами контролов, но для начала сойдет.

Проблема что они не выдадут и на 10% рабочий проект. У меня в ядре каждого VB6 проекта залежи VarPtr, StrPtr, ObjPtr, AddressOf, CopyMemory, API, etc. Все это никак не будет сконвертировано. Что толку если треть форм проекта как-то криво перенесутся в .NET?
Это ничего не решает.
...
Рейтинг: 0 / 0
16.10.2015, 14:59
    #39078713
dvim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Shocker.Pro,
Только одно решение - выносить в ocx/dll

А про переписывание - мы стали писать на .Net юзерконтролы и включать их в mdi.
В результате получается делать миграцию "очень постепенно".
Переписать это все разово - невозможно.
...
Рейтинг: 0 / 0
16.10.2015, 16:38
    #39078770
ATM-TURBO 2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Попробуй увеличить размер стека в PE заголовке VB6.EXE
...
Рейтинг: 0 / 0
16.10.2015, 19:25
    #39078863
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
AntonariyпереписываемdvimА про переписывание - мы стали писать на .Net юзерконтролы и включать их в mdi.
В результате получается делать миграцию "очень постепенно".
Переписать это все разово - невозможно.я бы с удовольствием переписал все на WPF+C#, тем более там накоплен огромный технический долг. Но мне рассказывают, что этот пятнадцатилетний проект будет закрыт, что с нуля напишут новый красивее, быстрее, функциональнее.... уже два года рассказывают, а функционал дорабатывать просят. Так что работаю с тем, что есть )
ATM-TURBO 2Попробуй увеличить размер стека в PE заголовке VB6.EXEизвини, я эта... ничонипонил короче...
...
Рейтинг: 0 / 0
16.10.2015, 19:59
    #39078879
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
EoltAntonariyкак это не существует? в студиях 2001-2005 есть. само собой, он не выдаст 100% рабочий проект, особенно изобилующий апи и массивами контролов, но для начала сойдет.

Проблема что они не выдадут и на 10% рабочий проект. У меня в ядре каждого VB6 проекта залежи VarPtr, StrPtr, ObjPtr, AddressOf, CopyMemory, API, etc. Все это никак не будет сконвертировано. Что толку если треть форм проекта как-то криво перенесутся в .NET?
а я конвертировал проект объемом в те же условные "160 форм и 170 юзерконтролов", правда без форм, контролов, указателей и апи (это dll-вебсервер), так он завелся с пол-пинка :)
...
Рейтинг: 0 / 0
16.10.2015, 20:00
    #39078884
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Shocker.Proизвини, я эта... ничонипонил короче... http://citforum.ru/programming/windows/machine_code/3.shtml
...
Рейтинг: 0 / 0
16.10.2015, 21:30
    #39078927
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Хм, я вернул четыре удаленные формы взад, да еще добавил до кучи парочку, но проект теперь компилируется без проблем. Так что попробовать все ваши советы не на чем (( Придется ждать следующего инцидента.


EoltТам слишком длинная строка со списком объектов передается в компилятор и линкер. Она вроде не может быть длинее 1024 символов, если не компилится можно перенести проект в папку C:\1\MyProject.vbp и попробовать скомпилировать. Часто это помогает.Я попробовал наоборот - удлинить путь к проекту, но и это не привело к ошибке.
...
Рейтинг: 0 / 0
18.10.2015, 08:53
    #39079257
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Еще можно пропатчить все экзешники VB-компилятора и IDE, чтобы им было доступно 3Гб памяти при запуске.
...
Рейтинг: 0 / 0
20.10.2015, 13:15
    #39081168
dvim
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Shocker.Pro,я бы с удовольствием переписал все на WPF+C#, тем более там накоплен огромный технический долг. Но мне рассказывают, что этот пятнадцатилетний проект будет закрыт, что с нуля напишут новый красивее, быстрее, функциональнее..

Ну мы на Forms пишем... а закрывать проект такого масштаба у нас нереально.
Пока "переписыватели" из конкурентов метались delphi-java-1c - заканчивалось все плачевно, для самого бизнеса.
Потому и идем путем интеграционного изменения.
Не знаю, интересно ли вообще "это" людям - подход, при котором в 1 декстоп системе уживается NEt с Vb6...
...
Рейтинг: 0 / 0
07.11.2015, 19:00
    #39097317
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
У меня была подобная проблема. Я собирал как плюшкин все в один проэкт. Где-то минимум 5 или больше лет назад обращался на форум. Ругаться VB6 начал, когда я использовал много контролов на одной из форм. Несколько контролов были в массиве.
Решил проблему через клонирование элементов в программном коде. Кроме этого, после того случая, решил разделить все проекты отдельно. Все модули и классы собрал в отдельную папку. В каждый новый проект удобно подключать готовые функции из общака. Формы также можна использовать общие на разные проэкты. Новые исправления в модулях действуют сразу на все проекты. В лимит форм не упирался. В одном проекте насчитал 82 формы. И то где-то 30 форм имеют характер "настройка программы".
...
Рейтинг: 0 / 0
07.11.2015, 19:05
    #39097319
Андрей159
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
С dll не связывался, так как есть новые идеи, каждый раз открывать dll проект было неудобно. Потом его нужно скомпилировать. Снова открыть главный проект. И если выскочит ошибка. Снова по новому. Удобней приостановить код и в debug под микроскопом искать проблему чем с dll. Хватает того гимора, что 4 компилированных проекта общаются между собой по UDP.
...
Рейтинг: 0 / 0
07.11.2015, 20:01
    #39097352
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VB6: Out Of Memory при компиляции - я достиг края земли?
Андрей159использовал много контролов на одной из формну это я прошел еще под Win98, там вообще с утечками ресурсов было пожестче.
На мой взгляд, если контролов на форме слишком много, это требует рефакторинга интерфейса, ибо что-то здесь не так.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VB6: Out Of Memory при компиляции - я достиг края земли? / 25 сообщений из 31, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]