Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Bugs in KOL


Страницы:   1 2

Boguslaw ©   (2003-03-14 01:14:00) 

1. WM_KEYDOWN in OnMessage is not working. Vladimir said that it was not working earlier also but I remember that old versions of KOL (before DefaultBtn and CancelBtn) did not have that bug

2. in OnQueryEndSession for Applet Accept:= false do not prevent Windows XP for shutdown

3. in Windows XP with theme support disable close button on form does not work in any event, would be useful to have form style without close button

Maybe we should create a list of non-critical bugs for later fix ?


SPeller   (2003-11-06 01:32:00) [1]

Возможно, битмап с канвсом глючат - они ещё не устоялись.


Dimaxx   (2003-11-06 01:02:00) [2]

Помогает тока такой вариант:

При старте формы битмап не создаем (не объявляем переменную). Подсовываем в одну из выбираемых процедур эту переменную, процедура создает битмап с нужными размерами и, поскольку битмап передан как var, получаю его обратно, натягиваю куда нужно и убиваю битмап. Но при каждой перерисовке формы или контрола происходит все сначала: создание и так далее. Но, тем не менее, все работает... Код вышлю Владимиру - это передраный c VCL компонент AniGradient.


SPeller   (2003-11-05 00:55:00) [3]

Полный код приводи.


Dimaxx   (2003-11-04 22:55:00) [4]

2 SPeller: KOL/MCK обновляю тут же, как выходит новый апдейт.

2 Vladimir Kladov: Первый вызов смены размера.

1) При создании компонента создаю битмап NewDIBBitmap(0,0,pf24bit);
2) В главной процедуре в зависимости от значения вызываю одну процедуру (их серия - они практически одинаковые, но изменяют размер битмапа-шаблона для себя и через scanline заполняют его)
3) Трассирую код, вхожу в процедуру (объект битмапа не пустой), изменяю размеры через width и height, дохожу до scanline и получаю nil!!! Все, Access violation... обеспечен. И я получаю его на следующем шаге! Приехалы!!!


Vladimir Kladov   (2003-11-04 15:34:00) [5]

Первый вызов чего?

B.HandleType := bmDIB;
B.PixelFormat := pf32bit;
B.ScanLine[ 0 ];


SPeller   (2003-11-04 02:27:00) [6]

2 Dimaxx

А КОЛ/МСК свежие? Какая версия?


Dimaxx   (2003-11-04 00:31:00) [7]

Сейчас попробовал - первый вызов и scanline возвращает nil 8-(


Vladimir Kladov   (2003-11-03 12:28:00) [8]

Тогда еще PixelFormat := pfXXbits после этого. Для гарантии, что именно нужный формат получился. И еще: не забывать, что байты в true color формате обычно переставлены. Не RGB, а BGR. Хотя еще правильнее смотреть маску в заголовке, но так все равно никто не делает.


Dimaxx   (2003-11-02 23:42:00) [9]

HandleType:=bmDIB? Сенькс, попробую...


Vladimir Kladov   (2003-11-02 10:36:00) [10]

Создаю битмап, далее вызываю процедуры в
зависимости от переданного значения. В этих процедурах происходит смена размеров битмапа,
переданного как параметр в процедуру. При первом же изменении размеров вываливается ошибка,
описанная выше.


А добавить HandleType := bmDIB ? Форсируется DIB формат, и можно работать со ScanLine. Или мне в каждом вызове ScanLine прикажете форсировать DIB (как в VCL)? Что это за ScanLine тогда получится? Скорость у него будет меньше.


Dimaxx   (2003-11-02 01:23:00) [11]

Еще один баг заметил тока что. У компонента LabelEffect свойство VerticalAlign неправильно работает при установке в Center - текст все равно прижимается к верхней границе компонента. Далее, если labeleffect поместить на panel и задать у labeleffect свойство Align=caClient, то от labeleffect отрисовывает текст с сильной обрезкой (остается тока маленький центр). Если меняем текст, то свойство autosize не меняет размеры, а функция AutoSize ни дает никакого эффекта - текст обрезается. Если установить у него Enabled:=False, то текст вообще исчезает и появляется вновь при True.


Dimaxx   (2003-11-02 01:14:00) [12]

Я пробовал и Bitmap, и DIBBitmap - одно и то же. Создаю битмап, далее вызываю процедуры в зависимости от переданного значения. В этих процедурах происходит смена размеров битмапа, переданного как параметр в процедуру. При первом же изменении размеров вываливается ошибка, описанная выше. Хотя может вывалиться и при второй смене размеров. Тут комментарии излишни. В VCL все пучком.


SPeller   (2003-11-01 14:01:00) [13]


> Делфай (да-да, [del'fai] читается)

Сколько воды утекло на тему Делфай или Дельфи... :)) Хотя, это уже оффтоп.


Vladimir Kladov   (2003-11-01 09:40:00) [14]


> Потому что по-барабану! И тот, и другой выдают одно и то
> же.

а у меня что же, особое спрямление рук, что у меня нет такой проблемы?


> Кстати, вообще многие свойства КОЛ-контролов при отладке
> (которые в хинтах) выдается "access violation...". Например,
> те же width и height у Bitmap. Это тоже не эст карашо!

А это вообще не ко мне. Code Insight глючен, а object'ы вообще не понимает, когда читает свойства. Он видимо предполагает, что структура object'а та же, что и у класса. В итоге то абсолютно левые значения показывает, то access violation. Выход такой: в watch-окне запрашивать не свойство, а соответствующее поле. Например, List.FCount, а не List.Count. Хотя вроде бы поле protected, в watch-окне и подсказке показывает правильно. Есть способ: присвоить значение промежуточной переменной, и смотреть на нее. Делфай (да-да, [del'fai] читается) справится с оптимизацией в большинстве случаев нормально, и разместит значение в регистре. Другой вариант: хотя бы на время отладки сделать версию KOL с классами (см. KOL2FPC). Она даст экзешник на пару К больше, но потом можно будет все вернуть на место.


Dimaxx   (2003-10-31 23:09:00) [15]

Потому что по-барабану! И тот, и другой выдают одно и то же.

Кстати, вообще многие свойства КОЛ-контролов при отладке (которые в хинтах) выдается "access violation...". Например, те же width и height у Bitmap. Это тоже не эст карашо!


Vladimir Kladov   (2003-10-31 05:35:00) [16]

Предыдущее сообщение не туда попало.

Чем NewDIBBitmap не устраивает?


Vladimir Kladov   (2003-10-31 05:19:00) [17]

http://protools.anticrack.de/utilities.htm
там есть все, что нужно, чтобы заменить/удалить стуб, выровнять PE и т.д. и т.п.


Dimaxx   (2003-10-30 22:45:00) [18]

Грабли с битмапом!!!! А я-то думал у меня руки кривые...

Создаем битмап

BMP:=NewBitmap(100,100);
BMP.PixelFormat:=pf24bit;

Далее мучаем его. Изменяю размеры через width и height и при запросе scanline получаю nil!!! Смотрю ширину и высоту, а она равна high(cardinal)!!!! Куда это годится???!!!


Юрий Ж.   (2003-10-30 20:15:00) [19]

Еще баг в MCK:
 Не устанавливается свойстро AllButtonsReturnClick.


Sapersky   (2003-10-27 11:40:00) [20]

> В run-time не работают значения MinWidth и MinHeight, заданные в design-time.
У меня работают. Пример?


И правда работают. С пустой формой. А в проекте - нет :) Ну ладно, можно и в OnShow установить.

> 1) При изменении размеров окна Caption у панелей не перерисовывается
У меня перерисовывается. Шлите пример, когда такое бывает.


Такое бывает при включённом Align (caTop, caBottom) и нестандартном TextAlign (taCenter, taRight).


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо