Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Вниз

Проблема с отображением компонентов в KOL/МСК 2.60, Delphi 7   Найти похожие ветки 

 
WindLord   (2007-05-15 10:47) [0]

Сегодня скачал и поставил KOL 2.60 и МСК 2.60 на Дельфи 7. Встало все нормально, а при разработке обнаружились странности. На форме некоторые компоненты видны не как в готовом окне, а как черт-те что в рамке (<a href="http://windlord.atspace.com/kol.JPG">скриншот прилагаю</a>; верхнее окно - как видно форму при разработке, нижнее - как видно окно при запуске). В принципе решается установкой версии 2.10, но какой смысл тогда брать 2.60. Может ли влиять на МСК таким образом установленный Vista Transformation Pack? Как можно решить это без возврата к старой версии? Спасибо.


 
Miklya   (2007-05-15 11:24) [1]

Это уже давно норма, так что привыкайте.


 
L`Autour ©   (2007-05-15 11:25) [2]

Так и должно быть
http://delphimaster.net/view/11-1176276630/


 
mdw ©   (2007-05-15 11:29) [3]

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


 
WindLord   (2007-05-15 12:46) [4]

Похоже, вышло. Хотя действительно оболочка работает медленнее, чем раньше. Собственно, просто включил врапперы (в файле mirror.pas после строки

//{$DEFINE MCKLOG}

поставил

{$DEFINE USE_KOLCTRLWRAPPER}
{$DEFINE _KOLCTRLWRAPPER_}

и пересобрал Buildом). При создании и перетаскивании компонентов тормозит нешуточно. Созданные ранее компоненты иногда отображаются рамками или прямоугольниками, но в основном вроде все есть. Может с первого раза не сработать, надо пересобирать еще разок или два. Однако если удалить всю МСК и поставить заново, вроде бы нормально все, глюков не смог поймать. Работать над этой вещью еще надо, блин!


 
WindLord   (2007-05-15 12:54) [5]

Поправки:

1) Все равно подтормаживает (пока все дллки дельфи удобно в памяти не расположатся:);
2) При нескольких компонентах на форме и при перетаскивании возможны косяки отображения (ненужные линии);
3) Созданные ранее компоненты (проверял Memo и RichEdit) таки могут отображаться прямоугольниками цвета clWindow, их похоже, придется пересоздавать заново...


 
kichrot ©   (2007-05-17 11:36) [6]

Спасибо за подсказку. Все заработало, как хотелось. Указанного Вами подтормаживания не наблюдаю. Правда пришлось удалить все директивы запрещающие WRAPPER.
Не понимаю зачем его нужно было запрещать. Возможно, что либо вылезет в дальнейшем?


 
WindLord   (2007-05-18 16:20) [7]

У меня в 2.60 все врапперные директивы выглядели, как IFNDEF, потому я логично заключил, что если сделать DEFINE, они все пролетят:) Других запрещающих врапперы директив не наблюдал вообще, потому отключать ничего не пришлось. Интересно, почему они были у Вас? Как выглядели? Несоответствие версий?..

Я тоже не понимаю, зачем было врапперы отключать. Пока ничего не вылезло и вроде не намеревается. Нну будем ждать...:)


 
Vladimir Kladov   (2007-05-18 19:40) [8]

Откройте проект. Закройте проект. Откройте другой проект (MCK, конечно). Закройте Delphi. Не вылетает? Ну тогда и правда, все в порядке. А у меня Delphi падает с грохотом.


 
kichrot ©   (2007-05-22 13:28) [9]


> Откройте проект. Закройте проект. Откройте другой проект
> (MCK, конечно). Закройте Delphi. Не вылетает? Ну тогда и
> правда, все в порядке. А у меня Delphi падает с грохотом.
>


W2003,D7,kol&mck 2.6 . Ни чего не вылетает.


 
kichrot ©   (2007-05-22 13:31) [10]

Извиняюсь KOL&MCK 2.60


 
homm ©   (2007-05-22 20:32) [11]

> W2003,D7,kol&mck 2.6 . Ни чего не вылетает.

Ну вот :) Чувствую себя евреем, которого 40 лет водили по пустыне :)


 
WindLord   (2007-05-28 09:52) [12]

Нет, Владимир, пока ничего не падает... даже странно как-то. Ну может, еще найду:)


 
Vladimir Kladov   (2007-05-28 15:31) [13]

Я попробовал, у меня тоже не падает. Видимо, после N-го числа багфиксов с того раза, когда я сделал по умолчанию без врапперов. Но вот странная штука: раньше, помню, на тулбарах иконки было видно. А сейчас почему-то голые кнопки.


 
Dy1 ©   (2007-05-28 23:47) [14]

> пока ничего не падает...

Отображается почти всё. Старый (до отключения врапперов) глюк появился через 13 дней после эксперимента :) - Делфь после фиг знает каких изменений в коде проги (много переписывал) не хотела сохранять проект. Помог перезапуск Делфи (копии проекта было 1.5 минуты)

2Vladimir Kladov: врапперы нужны для того же, для чего нередко MCK вообще - посмотреть на результат, а не угадывать какие-л. свойства. Для новичков это просто необходимо - бережёт нервы :)
Извиняюсь за в некотором роде флуд


 
AndreyRus   (2007-05-29 00:38) [15]


> врапперы нужны для того же, для чего нередко MCK вообще
> - посмотреть на результат

Солидарен. Хотя и понимаю сложность сей проблемы...


 
Vladimir Kladov   (2007-05-29 15:41) [16]

Посмотреть: запустил и смотри себе. Мне гораздо нужнее отображение, при котором видно, какая панель на какой лежит, и какие точные границы у чекбокса, к примеру. 3D-вид - он искажает вид, к тому же.


 
AndreyRus   (2007-05-29 16:17) [17]

> к примеру. 3D-вид - он искажает
Темы тоже.


 
WindLord   (2007-05-30 09:54) [18]

Странная у вас Дельфя, Владимир, с собственным характером:) Возможно, один из багфиксов и вызвал ошибку, которую потом на энном этапе исправил другой багфикс, потому как нулёвая Дельфи 7 относится ко всем этим проблемам совершенно спокойно...

Не знаю как насчет новичков, я бы не высказывался так жестко;) Однако сила привычки - великая вещь, заставляющая чуть не половину рабочего дня копать код здоровенного Object Pascal модуля с неизвестной логикой, чтобы только получить желаемое:) ИМХО чтобы подгонять общую линию дизайна, значительно легче видеть сразу готовый результат, а не дергать в творческом порыве компиляцию каждые несколько минут (представьте, что фотошоп показывал бы результат, пусть хоть ориентировочный, не в процессе редактирования, а только после сохранения, например, или 3д макс - только после рендера, а внешний вид серьезно влияет на интуитивность и юзабельность программы - опять же ИМХО). Однако не исключено, что найдутся приверженцы вида с отключенными врапперами (кого только нет на свете), поэтому, вероятно, их включение можно сделать опциональным...


 
WindLord   (2007-05-30 09:56) [19]

Представьте, если бы в Borland рассуждали бы насчет отображения формы как вы, разве была бы сейчас популярна Delphi?..

Прошу извинения, не смог удержаться:)


 
homm ©   (2007-05-30 10:00) [20]

> Однако не исключено, что найдутся приверженцы вида с отключенными врапперами

Ага. Я. С враперами всеже глюков поболее бывает, чем без них.


> поэтому, вероятно, их включение можно сделать опциональным...

Всю жизнь именно так и было.


 
homm ©   (2007-05-30 10:01) [21]

> Представьте, если бы в Borland рассуждали бы насчет отображения
> формы как вы, разве была бы сейчас популярна Delphi?..

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


 
WindLord   (2007-05-30 10:25) [22]


> Всю жизнь именно так и было.

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


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


Я имел в виду отображение компонентов, внешность формы в процессе дизайна.


 
homm ©   (2007-05-30 10:48) [23]

> Ну тогда стоило, наверное, обнародовать способ их включения/отключения,
> чтобы таких вот тем не поднималось больше...

USE_KOLCTRLWRAPPER


> Я имел в виду отображение компонентов, внешность формы в
> процессе дизайна.

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


 
WindLord   (2007-05-30 11:05) [24]

Видимо, из меня никудышный толмач. Я считаю, что если бы когда в Борланд создавали дельфю, они удовлетворились бы прямоугольниками вместо отображения полноценных компонентов на форме, сейчас ее популярность была бы меньше. Или я чего-то явно не понимаю. Dixi.

Je demande le grand pardone за флуд.


 
homm ©   (2007-05-30 11:09) [25]

> Или я чего-то явно не понимаю.

Не понимаешь. Не понимаешь, что борланд работали со СВОЕЙ библиотекой, сами ее писали для отображения. А МСК уже работает только с тем, что имеет. Нет возможности сделать так, как хочеться, есть возможность сделать только так, как позволяет нам VCL, через множество костылей и громозких настроек, которые держаться на честном слове. (Кому-то удалось запустить MCK под 2006-й студией без значительных переделок. По моему это огромная удача.)


 
WindLord   (2007-05-30 11:28) [26]

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


 
Vladimir Kladov   (2007-06-01 19:55) [27]

Когда я выключил, у меня вылетали все версии, со 2-й и по 7-ю. Сейчас не вылетает. С тех пор прошло с полгода, были багфиксы в том числе серьезные, некоторые объекты просто нарушали структуру кучи. Это вполне могло приводить к большим наведенным последствиям.

Мне все-таки не ответили: если включить врапперы, на тулбарах иконки у вас видно? Что-то у меня тишина, хотя в прежние времена вроде было видно.


 
=BuckLr=   (2007-06-01 20:47) [28]


> на тулбарах иконки у вас видно?


А вот похоже и первые глюки. Когда я попытался поставить на тулбар кнопку, делфи целиком вылетела. ПРидётся отключить врапперы :(


 
Vladimir Kladov   (2007-06-02 08:31) [29]

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

Почему 32768 - ну, для небольших текстов этого явно хватает. Наверное, поэтому.

Насчет разницы 2х вордов все-таки непонятно, что непонятно. Разница может быть и отрицательная, а ответ должен быть дворд (точнее Integer).

Команда CWDE занимает 1 байт, поэтому она выгоднее любого другого способа затирания старших 2 байтов в 4-байтном. Если речь идет о небольшом тексте, проблем не возникает, тем более что под Win9x в memo все равно не может быть > 32767 символов.

Поправить-то можно, в расчете на большие текста (а старый код оставить в {$IFDEF SMALLEST_CODE}). Но жаль, что не предлагаете конкретный вариант.


 
Vladimir Kladov   (2007-06-02 08:34) [30]

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

Почему 32768 - ну, для небольших текстов этого явно хватает. Наверное, поэтому.

Насчет разницы 2х вордов все-таки непонятно, что непонятно. Разница может быть и отрицательная, а ответ должен быть дворд (точнее Integer).

Команда CWDE занимает 1 байт, поэтому она выгоднее любого другого способа затирания старших 2 байтов в 4-байтном. Если речь идет о небольшом тексте, проблем не
возникает, тем более что под Win9x в memo все равно не может быть > 32767 символов.

Поправить-то можно, в расчете на большие текста (а старый код оставить в {$IFDEF SMALLEST_CODE}). Но жаль, что не предлагаете конкретный вариант.


 
Vladimir Kladov   (2007-06-02 08:40) [31]

Пардон, окном ошибся. Сюда я другое хотел послать. Вот:

Значит, сбой где-то в процедуре recreate. Можете попробовать еще вот что. Добавить опции OLD_COMPAT, USE_PROP, и (ой, забыл, сейчас гляну) вот: NOT_USE_AUTOFREE4CONTROLS. Вопции пакета, с build. Вполне возможно, с ними порядок и для recreate. Сейчас еще сам попробую, сначала уронить, потом поднять.


 
Vladimir Kladov   (2007-06-02 13:10) [32]

Вот что удалось выяснить. Исключение происходит внутри дефолтного обработчика сообщения (даже WM_SIZE), уже без вызова даже кода из KOL.WndFunc. Как такое может быть, я не знаю. Попытка глушить приводит только к еще худшим последствиям в дальнейшем выполнении.

Польза из этого только 1: заметил, что по умолчанию действует OLD_ALIGN все-таки, а не NEW_ALIGN, и после поправки Delphi указад мне на несоответствие типов в одном методе (как раз открыл UNICODE-проект). Так что вырубайте эти врапперы до лучших времен. Правда, не пересобирать же MCK только для того, чтобы кнопку на тулбар кинуть.


 
Galkov ©   (2007-06-02 13:56) [33]


> и после поправки Delphi указал мне на несоответствие типов
> в одном методе

Вроде в последней версии формат Global_Align совпадает со старым (в первой - да, был лишний аргумент).

 Global_Align: procedure( Sender: PObj) = DummyObjProc;

Функциональная нестыковка возможна: сегодня он САМ будет анализировать parent-а на предмет возможности его тоже "заалигнить"

Гипотеза: эта нестыковка, кроме излишней возни - бед приносить не должна...


 
WindLord   (2007-06-04 10:10) [34]

Ага, вот, кажется, и первые глюки... При помещении на форму компонента BitBtn вместо кнопки отбражается прямоугольничек с неустойчивой канвой, который после компиляции оказывается не всегда в том месте, в каком образ на форме. Стал проверять дальше. Устойчивые прямоугольники вместо ToolBar, PaintBox, DateTimePicker, ScrollBox, ScrollBar. При помещении на форму KOLDataModule и KOLFrame появляется одно информационное сообщение (The form Form1 contains more then one instance of TKOLForm component. This will cause unpredictable results. It is recommended to remove all ambigous instances of TKOLForm component before You launch the project; хотя помещаемый компонент вовсе не есть KOLForm, но возможно, это-то как раз в порядке вещей) и ругательство (Access violation at address 045990CB in module "MirrorKOLPackageD7.bpl". Read of address 0000001C). Видимо, это (рамки и ругательство) и есть проявления врапперов, которые, похоже, у каждой дельфи свои.

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

Что касается отключения врапперов, я лично намерен собрать два пакета МСК и переключаться между ними по мере необходимости... пока.


 
имя   (2007-06-12 10:35) [35]

Удалено модератором


 
имя   (2007-06-19 19:11) [36]

Удалено модератором


 
имя   (2007-07-15 09:43) [37]

Удалено модератором


 
имя   (2007-07-15 09:45) [38]

Удалено модератором


 
имя   (2007-07-15 09:45) [39]

Удалено модератором


 
имя   (2007-07-16 00:19) [40]

Удалено модератором



Страницы: 1 2 вся ветка

Форум: "KOL";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.56 MB
Время: 0.054 c
2-1201777548
NetSkipper
2008-01-31 14:05
2008.02.24
Приведение типов


2-1201756905
Kolan
2008-01-31 08:21
2008.02.24
Как можно связать ячейки StringGrid с объектами.


2-1201856974
operator
2008-02-01 12:09
2008.02.24
О создании и удалении компонентов.


4-1183713037
Dib@zol
2007-07-06 13:10
2008.02.24
TrackBar+API


2-1201684718
Lex-85
2008-01-30 12:18
2008.02.24
Ошибка в Maskedit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский