Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Вот здесь обсуждался вопрос: /topic/740043&pg=1 Был предложен контрол Konst_Oneназывается он UpDown Было также упомянуто, что не удается придать ему XP/Vista стиль. Причину я нашел довольно быстро: я везде использую Common Controls 6 (глючные, как кто-то тут выразился), а они не поддерживают стили через манифесты. Если использовать Common Controls 5, то вопрос со стилями решается. Я не стал разводить полемику по этому поводу, не было времени, но сейчас думаю вернуться к данной теме. Тот контрол, бог с ним, но я использую всякие Listview/Treeview в большом к-ве и надо бы с ними разобраться. Т.е. для придания приложению правильных стилей мне надо заменить контролы на 5-ю версию. Вопрос с заменой на API я не рассматриваю, т.к. кодов много и это не тривиально. И в связи с этим несколько вопросов. 1) Существует ли удобный способ замены/преобразования? Т.е. понятно, что сначала добавлю \'5\', и когда все заменю, удалю \'6\'. Но меня смущает сам процесс замены отдельно взятого контрола, ибо он может быть сильно напичкан свойствами, можно конечно и на бумажку переписать, но долго и надо аккуратно, чтоб не упустить ничего. 2) Как правильно установить(и удалить) COMCTL32.OCX (и ей подобные) на произвольную систему (возможны XP/Vista/Win2003/2008,в перспективе Win7(но пока не рассматриваю) и любая комбинация x86/x64). Дело в том что с MSCOMCTL.OCX (6-я версия) я особо не парился, просто бухал в папку с программой при установке и все работало, при этом никаких глюков при установке и никакой самодеятельности на пользовательском компьютере. И это прекрасно прокатывает даже на x64-висте. А что касается COMCTL32.OCX то ей надо делать regsvr32, причем cmd на Vista x64 пришлось запускать "от Админа". Насколько я понимаю эти тонкости, мой инсталлятор итак всегда запускается из-под админа, но все же я задумался... Куда класть COMCTL32.OCX? В папку программы? Или в System32? Если в System32, то на x64 в System32 или в SysWOW64? И надо ли ее удалять? (если в System...?) А если она уже была до моей установки? И опять же надо ли делать regsvr32 /u (а вдруг была?) И не пошлет ли произвольная система мой инсталлер куда подальше с такими действиями? А вот ругань при установке мне меньше всего нужна... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 04:46 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
В принципе поигрался с инсталлятором (Smart Install Maker) на тестовом приложении из одного exe: Есть 2 опции I. Файл 1) Путь извлечения 2) Если файл существует: Спросить/Спросить если новее/Заменить/Заменить если новее/Пропустить 3) Деинсталировать: ДА/нет II. ActiveX 1) Файл 2) Разрегистрировать при деинсталляции: ДА/нет Остановился на варианте: I. Файл 1) Путь извлечения =%SystemDir%\COMCTL32.OCX 2) Если файл существует:Пропустить 3) Деинсталировать: ДА II. ActiveX 1) Файл=%SystemDir%\COMCTL32.OCX 2) Разрегистрировать при деинсталляции: нет На x64 COMCTL32.OCX файл отправляется в SysWOW64, что наверно корректно. Возникают 3 ситуации: 1) COMCTL32.OCX уже был в %SystemDir% и был зарегистрирован: при установке ничего не меняется и пользуемся имеющимся файлом при деинсталляции опять ничего не меняется, т.е. COMCTL32.OCX не удаляется и не разрегистрируется,т.е. все остается как было. 2) COMCTL32.OCX уже был в %SystemDir% но НЕ БЫЛ зарегистрирован: при установке регистрируется имеющийся файл, им и пользуемся при деинсталляции COMCTL32.OCX не удаляется но остается зарегистрированным 3) COMCTL32.OCX НЕ БЫЛО в %SystemDir% при установке берется НАШ файл и регистрируется при деинсталляции наш COMCTL32.OCX физически УДАЛЯЕТСЯ, хотя регистрация и остается, но бесполезна за отсутствием файла. Вопросы все же по этой части остались: Если файл существует:Пропустить Опции "Спросить/Спросить если новее" меня не устраивают, это некрасиво и потом...передоверять юзеру ответ на вопрос с ответом на который сам сомневаешься... как то неправильно Опции "Заменить/Заменить если новее" ??? Когда я пытался так поступать с cdosys.dll, виста элементарно ругалась, но в том случае я просто в итоге отказался от установки cdosys.dll, т.к. оно обязано присутствовать на всех OS начиная с XP и правильный для каждой OS. Т.е. если "Заменить" то система со мной не поругается? А если "Пропустить", то не рискую нарваться на неправильную версию? (понятно, что случай, когда user взял файл Г.ocx и переименовал его в COMCTL32.OCX не рассматривается..) Разрегистрировать при деинсталляции: нет Скажем так, если я напишу "ДА", то моя прога при удалении удалит регистрацию существовавшую до ее установки. Как то неправильно А с другой стороны если я устанавливаю и регистрирую СВОЙ файл, то он удалиться, а регистрация останется, мусор в реестре... Я сам ненавижу когда чья-то прога при установке слишком много на себя берет, а при удалении не умеет "вынести за собой мусор" (если вообще умеет себя удалить, есть экземпляры которые вообще не делают uninstall, не обязательно вирусы). Хотелось бы конечно каких-то комментариев от тех кто на этом собак кушал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2010, 16:39 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
системные библиотеки обычно не требуют деинсталяции. чисти только папку со своей программой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2010, 11:00 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Существует ли удобный способ замены/преобразования?Открыть в текстовом редакторе *.vbp и заменить строку Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.ocx на Object={6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.3#0; COMCTL32.OCX. В файлах *.frm заменить аналогичные строки в заголовках, а так же все строки типа MSComctlLib.TreeView на ComctlLib.TreeView. Это не решит все проблемы сразу, но по крайней мере сэкономит 90% времени. Если у вас используется тулбар с SubMenu, то их придется переложить на обычные менюшки, потому что у оригинального тулбара никаких субменю нет. Других архитектурных отличий нет, разве что у некоторых объектов отсутствуют некоторые редко используемые свойства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2010, 11:26 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Konst_Oneсистемные библиотеки обычно не требуют деинсталяции. чисти только папку со своей программой. Т.е. вы предлагаете: Код: plaintext 1. остается поверить Вашему опыту. А что ваш опыт говорит по поводу Код: plaintext Вариант "Пропустить" кажется мне наиболее безопасным. А не получится что там какое-нибудь непотребное старье лежит? (повторюсь, вариант что там лежит переименованная Г.ocx не рассматривается, ибо если таковая там лежит, то user "сам дурак"). Повторюсь также что любого варианта "заменить" я побаиваюсь, т.к. не хочу нарваться на "системную ругань" при инсталляции. AntonariyДмитрий77Существует ли удобный способ замены/преобразования?Открыть в текстовом редакторе .... В принципе я и сам так подумывал, за четкие инструкции чего на что менять спасибо. AntonariyЕсли у вас используется тулбар с SubMenu, .... Таковых не держим, есть только с кнопочками... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2010, 23:01 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Дмитрий77 Возникают 3 ситуации: 1) COMCTL32.OCX уже был в %SystemDir% и был зарегистрирован: Если файл более младшей версии находился и был зарегистрирован в каталоге: Ё:\У бабушки на печке\ то программа инсталлятора должна заменить его новой версией именно в этой папке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2010, 23:51 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Так, бабушку с печкой можно и подвинуть... только бабушки-дедушки отдыхают... мне уже не до этого. Потому что я сделал то что предложил Antonary и ужаснулся тому чего увидел. Кнопки на Тулбар стали обычными, но это бог с ним...не самое страшное Самые большие проблемы вижу с Listview... FullRawSelect не вижу, многого не вижу. У меня все алгоритмы с перестановкой столбцов основаны на.... ListView1(0).ColumnHeaders("Name").Position что ж ее перерисовывать теперь каждый раз... с картинками в заголовках столбцов проблемы... ListSubItems(i). и т.п. не работатает... .ListSubItems(i).ToolTipText Я в печали.... 6-ки м.б. и глючные но интеллекта поболе будет и я этим интеллектом сильно воспользовался при написании проги. Неужели никак их нельзя со стилями подружить? Т.е. какие варианты? 1) частичная замена 6->5, чтоб хоть что-то выглядело потребно, как то не то... 2) постепенная замена на API, ну эт.я замучаюсь с Listview 3) замена все же всего на 5 и дописывание через API, можно конечно, но опять кучу всего писать и все равно кучу всего изучать а приложение этими сабклассами над контролами итак перегружено... 90% экономии времени это мягко сказано...до того как я это сделал (за 15 минут), я тоже думал что это и будет основная проблема. Всего то нужно чтоб стили применялись, м.б. есть какое другое решение, не требующее переписывания 2/3 кодов, которые к сути-то программы не относятся. М.б. есть современные какие контролы, аналог 6, но с поддержкой всех этих манифестов. 5-ку то в 6-ку небось легче превратить.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 00:44 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
авторКнопки на Тулбар стали обычнымиА какими были? Хорошо бы скриншоты какие-нибудь. авторFullRawSelect не вижуНужно с помощью апи добавить стиль LVS_EX_FULLROWSELECT (&H20). Это просто. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. авторс картинками в заголовках столбцов проблемыКакие? авторListSubItems(i). и т.п. не работатает... Код: plaintext автор.ListSubItems(i).ToolTipTextПожалуй, это самое сложное по сравнению с предыдущими пунктами. Но в принципе тоже ерунда. автор3) замена все же всего на 5 и дописывание через API, можно конечно, но опять кучу всего писать и все равно кучу всего изучатьЭто лучший вариант. автор90% экономии времени это мягко сказано...до того как я это сделал (за 15 минут), я тоже думал что это и будет основная проблема.Поверьте, это все равно быстрее, чем если бы вы взялись пересоздавать все руками. Быстрее только оставить все как было. авторМ.б. есть современные какие контролы, аналог 6, но с поддержкой всех этих манифестов.Что-то есть на vbaccelerator, но не советую. Все, что вы видите на скриншоте, это пятые контролы, приправленные api (крестик закрытия таба в контролы не входит, сам рисую). По-моему овчинка выделки стоит. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 11:17 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Antonariy, >>Кнопки на Тулбар стали обычными >А какими были? Хорошо бы скриншоты какие-нибудь. Да что скриншоты... http://sql.ru/forum/actualthread.aspx?tid=750468 Плоским я сделал, но надо уменьшить высоту 420->360 (видимо в точках) иначе сверху вплотную к меню (как и было) а снизу большой зазор до Treeview/Listview. (высота кнопки 330). 420 он лепит минимум для стандартных кнопок. С этим промучился так и не нашел ответа... >>У меня все алгоритмы с перестановкой столбцов основаны на ListView1(0).ColumnHeaders("Name").Position... >LVCOLUMN.iOrder — это чуть сложнее, готового примера нет. А вот это если не осилю, то грош цена... Она у меня загружает со статическими индексами а все position запоминает в реестре и применяет сразу после загрузки или переставляет при настройке последовательности столбцов я пока это отключил при загрузке, чтоб хотя бы запустить в компиляторе, но это боюсь основная проблема Потом ширина первого столбца (где только иконка) почему-то прыгнула, пока не выяснял. >Нужно с помощью апи добавить стиль LVS_EX_FULLROWSELECT (&H20). с этим уже разобрался в первую очередь довольно быстро С картинками и примечаниями разобраться думаю не сложно, но это потом. Пока что задачи. 1) чтоб Запускалась в компиляторе 2) Чтоб закрывалась без вылета (в реестре запоминает несуществующие position) 3) Чтоб компилировалось На пункте (3) думаю большинство глюков отловится. Ну а потом играться и смотреть на глюки... >>3) замена все же всего на 5 и дописывание через API, можно конечно, но опять кучу всего писать и все равно кучу всего изучать >Это лучший вариант. Лучший то он лучший, но это читай переписывать прогу с нуля. Надо все же сделать замену 6->5, получить рабочую прогу, а от контролов можно потом отказываться последовательно (по настроению), т.е. например StatusBar просто , а с Listview (у меня их 3шт-массив и сильно накручены) черт ногу сломит, поэтому отказаться в лоб это пуля в голову. Ну и если меня когда-либо хватит на все это, то в итоге убрать ссылку на контролы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 11:51 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Konst_Oneсистемные библиотеки обычно не требуют деинсталяции. чисти только папку со своей программой. Т.е. вы предлагаете: Код: plaintext 1. нет, Я предлагаю регистрировать только новые версии системных библиотек исключительно в системных директориях. При деинсталляции их вообще не трогать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 12:07 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Konst_One, я написал Код: plaintext 1. Код: plaintext вы пишите Код: plaintext Код: plaintext вы пишите Код: plaintext Код: plaintext 1. Пункт (2) во первых будет выполнен по-любому (в инсталляторе в ActiveX опции либо регистрировать, либо нет), а во вторых это правильно,т.к. вдруг там новая версия лежит и она не зарегистрирована. Если так то что думаете по поводу возможной ругани системы при замене файла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 12:42 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
авторПункт (2) во первых будет выполнен по-любому (в инсталляторе в ActiveX опции либо регистрировать, либо нет), а во вторых это правильно,т.к. вдруг там новая версия лежит и она не зарегистрирована это делать не надо. если не заменяли, то ничего и не делаем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 13:09 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Konst_One, так заменить и регистрировать это независимые пункты. (нет опции не регистрировать если не заменяли) и потом регистрировать по любому разумно. Я когда-то бухнул ocx в system, регистрировать не стал, и забыл про нее. А инсталлер ее увидит, заменять не станет и регистрировать тоже не станет. И что? У меня другая проблема возникла (с одной-главной формой). Картиночки везде вдруг раз-все "черненько"-образные. Думал ресурся съелись, перегрузил VB, перегрузил PC-не помогает. Мувнул опять из резервной копии проекта (где "6") эту форму в подопытный проект, заменил все на "5" в блокноте. Работает, картинки цветные. Поковырялся с кодами, запустил, опять чернота. (exe даже пока скомпилировать не могу из-за проблем с кодами, чтоб посмотреть чего там будет:цветное или черное). В чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 13:57 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Без тестового примера сказать сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 13:59 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Antonariy, легко сказать, предлагаете сделать тестовый из одного тулбара 6, переделать в 5 и посмотреть чего будет, вряд ли это воспроизведется. Вчера игрался такого не было. Я даже не могу exe сделать, пока не перепишу хорошую часть кодов, а это работа надолго. Ну допустим перепишу с черными картинками, потом перекину опять 6 в 5 и заменю коды в форме на то что переписал, но это ж повторится, а если буду дорабатывать проект уже с "5".? не дело... Причем происходит как-то внезапно (сохранение даже не обязательно), но если раз произошло то не помогает уже ничего, т.е. даже на другом pc этот проект уже показывает черные. Скорее всего внутренние ресурсы vb где-то на грани. Можно конечно попробовать вручную пересоздать ImageList-ы. Посмотреть, что будет. ...уже посмотрел, добавил ImageList с двумя цветными картинками, цветными они были очень недолго, и главное эта скотина автосохраняет эту дрянь в этом непотребном виде. Мне кажется слишком много всего в приложении, 5-е контролы не выдержат. Они гораздо более глючные чем 6-е. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 15:37 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Дмитрий77Они гораздо более глючные чем 6-е.Вы не любите кошек? Вы просто не умеете их готовить ))) Я пришел к противоположному выводу. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 15:51 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Да люблю я их готовить... Даже с этим справился... >>У меня все алгоритмы с перестановкой столбцов основаны на.... >LVCOLUMN.iOrder — это чуть сложнее, готового примера нет. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. а толку...эти почерневшие иконки меня вконец расстроили Это признак нехватки ресурсов. Но ресурсы есть,если бы их не было,я бы получил "Out memory" в куче других прог. И с "6" такого никогда не было. А на тестовом приложении я вам это не покажу, потому что там будет один тулбар и один ImageList и им всегда все хватит. А фиг его знает, м.б. в форме много кода, м.б. еще чего, м.б. сабклассинги на "5" случайно так действуют. >замена все же всего на 5 и дописывание через API, можно конечно, но опять кучу всего писать и все равно кучу всего изучать >Это лучший вариант. Ну лучший наверно оставлять 6-ку и постепенно переписывать на API. Потому как заменить на "5" означает все разбомбить, кое-как запустить и потом долго восстанавливать из руин. Кошки это хорошо, но на тек. момент больше хочется выть от безысходности. Вы мне там где-то давали контролы через API, пойти чтоль посмотреть, но это не на пару дней как надеялся через 5 (надежда еще теплится, но все меньше). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 16:24 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Сколько у вас форм в проекте? Попробуйте создать новый проект, подключить пятые контролы, скопипастить на форму ImageList с этими черными иконками и то, что там у вас с ним связано. Jah loves you. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 16:39 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Дмитрий77а толку...эти почерневшие иконки меня вконец расстроили Это признак нехватки ресурсов. Но ресурсы есть,если бы их не было,я бы получил "Out memory" в куче других прог. Почерневшие иконки это может быть признак нехватки GDI+ ресурсов? В частности там было ограничение на 9999(по моему) открытых дескриптора в рамках одного приложения. Сам на это нарывался. Попробуй посмотреть в task manager'e Закладка "Процессы", в меню "Вид" пункт "Выбрать столбцы", там поставить птицу на "Объекты GDI" Ы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 16:39 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
и ещё помниться была какая-то засада с цветностью иконки, которую помещаешь в imagelist, из-за этого она портилась при сохранении проекта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 16:42 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Konst_Oneи ещё помниться была какая-то засада с цветностью иконки, которую помещаешь в imagelist, из-за этого она портилась при сохранении проектаImageList из ocx не поддерживает 32 бита. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 17:10 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
>Сколько у вас форм в проекте? 11штук, но проблема возникает только в основной, и только с ImageList-ами, и только после конвертации в версию 5, ну собственно все картинки в основном в них и сидят. >скопипастить на форму ImageList с этими черными иконками и то, что там у вас с ним связано цветным оно уже не станет даже в другом проекте. >Попробуй посмотреть в task manager'e... "Объекты GDI" попробовал в среде разработки при запуске и вообще показывает 1200-1230 неважно "6" или "5". Скомпилированный exe ("6") выдает в 2 раза меньше т.е.620-630. >была какая-то засада с цветностью иконки, которую помещаешь в imagelist, из-за этого она портилась при сохранении проекта для мелких стараюсь использовать 256цветов ибо делать больше в vb6 накладно, а меньше соотв. неэстетично. Но данный глюк возникает не при сохранении а после нескольких просто запусков, но потом уже не лечится никак. Возникло первый раз после того как поигрался с кодом что привел выше (вместо .Position) возможно после того как закомментировал сохранение этих position в реест при закрытии (до того как я это сделал VB у меня просто вылетал при закрытии вместе с компилятором из-за несоответствия кода 5 и 6, но глюка с иконками не было). М.б. какое неосвобождение ресурсов при корректном именно закрытии приложения. Для получения черного эффекта надо запутить и закрыть приложение (не среду) несколько раз. Надо б поиграться конечно, свеже конвертированную форму только запомнить, чтоб каждый раз не переделывать... М.б. почему-то получается 1200*8=>9999 надо отследить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 17:14 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Дмитрий77>Сколько у вас форм в проекте? 11штук, но проблема возникает только в основной, и только с ImageList-ами, и только после конвертации в версию 5, ну собственно все картинки в основном в них и сидят.11 форм — это скромный проект, нехватки ресурсов или переполнения GDI быть не может. Дмитрий77>скопипастить на форму ImageList с этими черными иконками и то, что там у вас с ним связано цветным оно уже не станет даже в другом проекте. Вот я и хочу на это посмотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 17:21 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
Antonariy, У меня это произошло на простецком приложении с одной формой Я просто делал анимацию иконки в трее, приложение было сервисом, и иконка обеспечивала связь с космосом. Приложение писал на NET в 2005 студии. Как потом выяснилось загрузка иконки в объект наращивала счетчик GDI дескрипторов, а уничтожение объекта не приводило к освобождению использованного дескриптора. Игорь Горбоносв общем переделал так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 18:08 |
|
||
|
xp/vista style; common controls 5/6; regsvr32 на x86/x64
|
|||
|---|---|---|---|
|
#18+
VB6 в этом плане больше защищен от дурака. Нужно делать что-то уж совсем непотребное непосредственно через gdi, чтобы добиться такого эффекта. Или забывать выгружать навороченные динамические юзерконтролы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2010, 18:16 |
|
||
|
|

start [/forum/topic.php?fid=60&msg=36575217&tid=2159846]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 255ms |
| total: | 392ms |

| 0 / 0 |
