|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Потестировал тут свои проги на новом ноуте с Win 8.1 x64. И странные глюки с нек. Listview (которые объектные VB6-based) наблюдаются. В один тыкнешь мышкой - приложение дает crash. В другом (для кот. через API установлен стиль checkbox) crash похоже происходит при выполнении кода Код: vbnet 1.
Причем одно из приложений переписывал как-то на .Net для теста (на базе .Net -контрола) - Net вариант такой же не глючит. Пока дотестировал до того, что на Win2012 R2 (x64) на тестовом компе этих глюков нет на Win 8.1 32-бит на тестовом компе этих глюков нет (и на обоих 8-ках вроде то же не было) Сейчас ставлю 8.1 x64 (хотя ведь тот же 2012 R2) на большой тестовый комп чтобы убедится в наличии глюков. В чем проблема? Объектный Listview перестал поддерживаться? На чисто API-шные заменять? Ну, вроде сварганил класс не так давно, но там была крайняя необходимость. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 00:08 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Ни черта не понимаю. Поставил тестовый 8.1 x64 на большой компьютер, глюков нет. А на ноуте есть. Везде чистые OS со всеми обновлениями, на ноуте предустановленная 8-ка, обновленная через магазин до 8.1 Ну, еще на ноуте изменил локальную учетку на Microsoft и поставил-студию 2013 EE. Что, на тестовой 2013 EE попробовать установить? Как это может влиять? Ну не от железа же работа ListView зависит? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 01:18 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Фигня какая-то. Восстановил на ноуте Win8 (без .1) "из коробки". (Уже пожалел об этом, хоть ноут и пустой.) Первым делом установил свою прогу с этими Listview. Те же глюки. Т.е. если щелкнуть по Listview (мышкой, пальцем, переходом в listview по tab) в котором есть хоть один итем, приложение загибается. Но что интересно, не на всех ListView, а на некоторых. В ноут все не уперлось, но значит и на других каких-то компах могут быть эти же глюки. То ли тест-проект писать и копать, то ли VB6 на ноут ставить, то ли сразу на API-ListView менять. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 03:39 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Сделал тест (компилировал на XP, запускал на ноуте). Form1 на нее кинут Listview1 (CommonControls-5, default) 1. Выполняем код (больше кодов нет!!!) Код: vbnet 1. 2. 3.
2. Щелкаем мышью по ListView1 3. Ловим crash Как такое может быть? (ocx зарегистрирована и приложение запускается). Типа объектная модель VB6 наконец сдохла и дает сбои на новых системах/новых компах? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 04:18 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
какой SP у используемого ocx? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 10:39 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Дмитрий77Как такое может быть? (ocx зарегистрирована и приложение запускается). Типа объектная модель VB6 наконец сдохла и дает сбои на новых системах/новых компах? Microsoft Common Controls работает на Win 8.0/1 без глюков. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 13:49 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Konst_Oneкакой SP у используемого ocx? COMCTL32.OCX 9 марта 2004 г., 0:00:00 6.0.81.5 Я проверил - этот файл лег в "System" (syswow-куда надо) и единственный на компе. АлкобобёрMicrosoft Common Controls работает на Win 8.0/1 без глюков. Я тоже так думал. На старом компе на 90 дневной версии - без глюков. А вот на этом: http://netlab.ru/descr.asp?id=267510](Арт. 1267510) ASUS X200CA Intel 2117 / 4G / 500G / 11, 6"HD Touch / WiFi / BT / Camera / Win8 / Black [90NB02X6-M02420] -так как я написал -причем и на Win8 (специально откатил до заводских установок), и на Win 8.1 Полагаю сенсорный экран не может влиять. Причем описанный примитивный тест, высекающий глюк, ни на какие мои "ошибки в коде" намеков не дает. Явный провал объектной модели по невыясненным причинам. Я принял решение менять на API-Listview. При этом не совсем понятно, почему в том же большом приложении/других приложениях какие-то VB-Listview работают нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 15:29 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 16:15 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Konst_One http://support.microsoft.com/kb/896559/ru Мистика. Похоже помогло, переход на API пока отменю, а то было начал потеть. По крайней мере после тупой установки фикса на ноут глюки на нем исчезли. Спасибо. Все-таки сенсорный экран? Полезно все-таки иногда на новую технику смотреть. Т.е. мне разумно свой COMCTL32.OCX тупо заменить в своих дистрибутивах на новый (без перекомпиляции exe-шников)? Так получается? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 16:43 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
да, можно , это ведь рантайм контролы ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 16:44 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Дмитрий77Все-таки сенсорный экран? Пfacepalm.jpg там же написано в чем причина. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 16:53 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Antonariyтам же написано в чем причина. Я не телепат. Вот это читать честно мало интересно: The problem with Windows Common Controls 5.0 occurs because Comctl32.ocx tries to copy the text member of a ListView item by using a mask of LVI_IMAGE that has a NULL text member. Я так понимаю •You are running an application that sets a WinEvent hook on Microsoft Windows 2000 or a later operating system version. Т.е. для поддержки сенсорного экрана запускается какое-то системное приложение которое that sets a WinEvent hook on на этом ноуте, что и приводит к такому поведению моего приложения. Так что ли? Просто раньше с подобным не сталкивался. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2014, 20:06 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Дмитрий77Я не телепат. Вот это читать честно мало интересно:Конечно, нафантазировать интереснее. Дмитрий77Так что ли?Не так. Проблема в Comctl32.ocx. ComCtl32.dll от версии к версии винды развивается, а ocx нет. ocx с dll становится совместим все меньше и меньше. Это если не вдаваться в неинтересные тебе детали. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 13:21 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
AntonariyПроблема в Comctl32.ocx. ComCtl32.dll от версии к версии винды развивается, а ocx нет. ocx с dll становится совместим все меньше и меньше. Это если не вдаваться в неинтересные тебе детали. Логично. Я тоже на 8.1 x64 сначала подумал, и поэтому установил 8.1 x64 на другой комп, где проблема НЕ подтвердилась. Дык вот, версии ComCtl32.DLL в SysWow64 абсолютно одинаковые: 5.82.9600.16384 523КБ (535552) 22/8/2013 Причем на ноуте глючило и на 8.1 и на 8 (где версия dll очевидно другая, не могу проверить, уже вернул 8.1). Причем как я писал, я НИКОГДА ранее с этой проблемой не сталкивался. И что особенно странно, ни один мой клиент (либо кто тестировал) об ЭТОЙ проблеме не сообщал. Хотя и компов с сенсорным экраном также раньше не тестировал. И есть предположение, что если на этот ноут установить Win7 (чего делать по понятным причинам не буду), то будет то же самое. А фикс этот древний, 7 лет в обед (виста м.б. тогда еще только появилась), и тем не менее именно он помог. Мое глупое объяснение, что это как-то связано с другим специфическим для данного компа ПО больше тянет на правду, чем твое научное с версиями dll, потому как твое не подтверждается, сам с этим не согдасен? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 15:38 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Дмитрий77потому как твое не подтверждаетсяТы сам написал, что фикс помог, следовательно проблема была именно в том, что он лечит. Но фишка в том, что проблема эта проявляется в специфических условиях, которые возникают по не очевидным причинам. Не очевидным на первый взгляд, но если читать внимательно, то можно увидеть следующее: Note Typically, accessibility applications that are built on Microsoft Active Accessibility set a WinEvent hook. For example, Narrator is built on Microsoft Active Accessibility. However, utilities that run on the Microsoft Windows XP Tablet PC Edition operating system also set a WinEvent hook .Tablet PC Edition заточен под сенсорные экраны. Сенсорные наработки с таблетки наверняка невозбранно перекочевали в более поздние выпуски винды, и по всей видимости активизируются при наличии сенсорного экрана. Так что в общий итог похож на то, что твое объяснение случайно оказалось верным. Дмитрий77чего делать по понятным причинам не будуЕдинственная понятная причина — нет свободного двухдюймового винта. Или sata-удлинителей для подключения трехдюймового. Установка винды с флешки это 10-15 минут времени + 5 минуть на видеодрайвер, чтобы глаза не ломать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 16:11 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
AntonariyТак что в общий итог похож на то, что твое объяснение случайно оказалось верным. Бог с ним. Решилось малой кровью и ладно. AntonariyДмитрий77чего делать по понятным причинам не будуЕдинственная понятная причина — нет свободного двухдюймового винта. Или sata-удлинителей для подключения трехдюймового. Установка винды с флешки это 10-15 минут времени + 5 минуть на видеодрайвер, чтобы глаза не ломать. Не. Ты мне предлагаешь из нового компа делать тестовый конструктор. А он мне нужен для необх. работы в поездках. Там стоит предустановленная лицензионная Win8, которую я легально сразу заменил на 8.1. И это и есть понятная причина. Дополнительная цель почему 8.1 - я хочу подразобраться с Windows Store приложениями. И лучше это неспеша делать на постоянном компе, пусть для начала и на ноуте, нежели на 90-дневной пробной версии. Кстати, вот ты писал .Net, WPF, а твой WPF похоже уже задвинули с этим магазином (по крайне мере читал общие недовольные возгласы по этому поводу). Я на этом форуме не вижу разделов по Windows Store приложениям. Плохо искал? Мне вот чего интересно. Ну допустим новый GUI -это xaml со своими контролами - достаточно примитивно и можно освоить. Всякие там обработки событий нажатия кнопок VB.Net -это понятно. Понятно также, что всякие Win32 API, работающие с hwnd не катят. Ну, допустим, потрачу время, освою это GUI, научусь рисовать кнопочки. А серьезное приложение как писать? Хочу например сделать тот же софтфон а-ля Windows Store (идея хорошая), есть у меня opal.dll, кот. предоставляет API вида "Declare", и понятно что под Windows Store API его ни я ни кто другой еще 20 лет подгонять не будет. Т.е. могу я эту dll как есть использовать в Windows Store приложениях? Или например, могу ли я запустить консольное приложение в фоне из-под нового GUI? Ну и допустим написал, как setup.exe на свой сайт это приложение не выложишь. Как с этим "магазином" дальше взаимодействовать? Как продавать? Какие здесь соображения? Стоит ли двигаться в этом направлении? И как двигаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 17:26 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Дмитрий77Не. Ты мне предлагаешь из нового компа делать тестовый конструктор. А он мне нужен для необх. работы в поездках.Какой еще конструктор? Один-два шурупа в зависимости от ноута (кое-где и шурупов нет), вынул-вставил, почти как флешка. Работаешь на лицензионной, тестируешь на сломанной, чтобы активациями не мучила. Дмитрий77Я на этом форуме не вижу разделов по Windows Store приложениям. Плохо искал?У нас он популярностью не пользуется из-за зависимости в распространении программы от MS. Это у яблочников альтернатив нет, а андроид нов и ориентирован на такую схему изначально. В винде же программу можно распространять как угодно и устанавливать откуда угодно, а ВинСтор даже на рабочем столе не светится. По крайней мере в семерке. За новой программой пользователь привык лезть в инет, а не дебри системы. Дмитрий77Т.е. могу я эту dll как есть использовать в Windows Store приложениях?Не вижу причин, почему нет. Дмитрий77Или например, могу ли я запустить консольное приложение в фоне из-под нового GUI?Да, консоль же не под запретом, как и возможность у программы запустить другую программу. Дмитрий77Как с этим "магазином" дальше взаимодействовать? Как продавать?Как обычно, читай документацию. Дмитрий77Стоит ли двигаться в этом направлении?Мне не кажется это слишком сложным, а хуже от этого определенно не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.02.2014, 17:54 |
|
Непонятные глюки с VB6-ListView на Win 8.1 x64
|
|||
---|---|---|---|
#18+
Antonariy, AntonariyДмитрий77Как с этим "магазином" дальше взаимодействовать? Как продавать?Как обычно, читай документацию. Я вот начал учебник тупо штудировать (а как иначе). Все бы ничего, только вот на этой главе: Часть 5. Создание приложения для чтения блогов (приложения Магазина Windows на C#, VB и XAML) меня стало откровенно подташнивать, я не стал ее изучать, поняв что я уже не улавливаю. Но меня не это заранее смущает, фиг с ними с "блогами". Antonariy...из-за зависимости в распространении программы от MS. Дмитрий77Т.е. могу я эту dll как есть использовать в Windows Store приложениях?Не вижу причин, почему нет. Дмитрий77Или например, могу ли я запустить консольное приложение в фоне из-под нового GUI?Да, консоль же не под запретом, как и возможность у программы запустить другую программу. Дмитрий77Стоит ли двигаться в этом направлении?Мне не кажется это слишком сложным, а хуже от этого определенно не будет. Я dll допустим включу и на моих тестах на моем компе это заработает. Но они ж там настаивают на сертификации, и в частности сказано что приложение должно 1) Использовать "новые" RT-API 2) Работать на Store-RunTime обкоцаных планшетах (RT версии OS без рабочего стола). Т.е. я так понимаю что они в принципе запрещают соваться в старые "наработки". Типа, ребята, пишите все с нуля. А берем Opal, вернее ptlib если быть точным. Это ж обертка над Win32-API. И для какого-нибудь звука там внутри например используются даже не новые Vista/Win7 API, а старые мультимедиа API. И вот ты думаешь это все хозяйство пройдет MS-тесты? Я думаю НЕТ. Переписать начинку на их новые API нереально, реально только использовать. Максимум какую-нибудь панельку настройки в духе аналогов Панели Управления Windows реализовать для своей проги. Мол идите в магазин, и оттуда качайте бесплатно, если вам нужен красивый прибамбас. Да и то: те же настройки - они в ini или в реестре, а не в "облаке". Напридумали короче. А ведь красиво выглядит, черт бы его побрал. Но если софтфон, он же должен напрямую с dll взаимодействовать. Кнопки нарисую, настройки нарисую, а Runtime-API для звонков и звука он же все равно использовать не будет, начинка то классическая. Я смотрю, и нету в магазине ни одного SIP софтфона, хотя казалось бы - дело то перспективное. И потом ДА, завязка на MS. Как компания я себя вряд ли зарегистрирую. Это с Shareware посредниками легко договориться что ты "Company", и с продавцами Code Signing подписей легко договариваешься. А здесь это не пройдет. И будет Вася Пупкин свою прогу продавать. ООО регистрировать? чтоб быть Company. Русское ООО в понимании буржуев (покупателей) это хуже чем Вася Пупкин. Т.е. насколько оно вообще стоит и насколько этот Windows Store перспективен? Win32 API то вроде "вечны". А вот насколько этот "магазин" перспективен и где гарантия что он не "сдохнет" через пару версий виндов? И насколько я понял, там даже нормальной совместимости между приложениями Win 8 и Win 8.1 нету. Я вот с обычным то .Net (WinForm) пару месяцев прошлой осенью потыкался и честно говоря так и не "перешел" пока. Времени на это нужны месяцы, а особо то оно ничего и не дает. Т.е. продолжаю пилить и улучшать то что написано на VB6. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2014, 10:48 |
|
|
start [/forum/topic.php?fid=60&fpage=44&tid=2156406]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
102ms |
get tp. blocked users: |
2ms |
others: | 278ms |
total: | 464ms |
0 / 0 |