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

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

Версия 2.23+Collapse [Delphi, Windows]


Страницы:   1 2 3 4 5

Vladimir Kladov ©   (2005-12-19 20:42:00) 

Новости от 19 декабря 2005 г.

Новости KOL и MCK (v2.23):
[+]KOLadd: добавлен объект TOpenDirDialogEx (альтернатива объекту TOpenDirDialog, не использует SHBrowseForFolder, работает намного быстрее).  MCK: добавлено свойство TKOLOpenDirDialog.AltDialog, позволяет переключиться на использование альтернативного диалога установкой значения в true.
[*]KOL: событие TControl.OnTVExpanding должно теперь возвращать TRUE (для обоих asm- и pas- версии) для того, чтобы предотвратить распахивание, и FALSE для того, чтобы позволить (ранее это различалось для asm- и pas- версии).
[+]KOL: добавлен метод TControl.RE_WSearchText.
[+]KOL: добавлена функция DirIconSysIndexOffline.
[+]KOL: добавлено свойство TMenu.ItemHelpContext.
[-]KOL: доступ к свойству TThread.PriorityBoost изменен на использование динамической линковки (исправление для Win9x).
[-]KOL: исправлено создание и разрушение объекта TImageList.
[*]KOL: изменен метод TBitmap.Convert2Mask.
[*]KOL: изменена работа метода TControl.AutoSize несколько (MinWidth и MinHeight берутся во внимание при автоматическом изменении размеров).
[*]MCK: генерация П-кода обеспечена для всех зеркал всех контролов и объектов всего стандартного множества объектов KOL. С этой версии KOL/MCK 2.23, выходит в жизнь система Collapse , которая позволяет компилировать П-код в байт-код и добавляет эмулятор этого байт-кода в приложение. См. Collapse в секции Инструменты.


MTsv DN   (2005-12-26 11:49:00) [81]

Привет...

Не тестил еще... Не было времени...

С Уважением MTsv DN


homm86   (2005-12-26 11:34:00) [82]

2MTsvdn
дак в 0.30.1 же поправлена 9х


MTsv DN   (2005-12-26 08:40:00) [83]

Всем привет...

2 Vladimir Kladov
Владимир, Вы слегка "накосячили" с линками на родном сайте (.../kolmck225to225.zip -> .../kolmck225to226.zip) и с самим апдейтом kolmck220to225.zip (вторая версия - это 2.26, и внутреннее имя в upd-файле правил в HEX-редакторе) . Причем, прогрейженный kolmck220to226 KOL (не KOL.PAS, другие PAS'ы), отличается от грейженного kolmck225to226.....

2 ALL
Обновил сборку: KOLnMCK 2.26 (26.12.2005) + KOLadd (19.12.2005) + fakeVariant.pas , по адресу: http://www.uus4u.com/download/modules/KOLnMCK/KOLnMCK.rar

а также? для тех кто собирается использовать gRush Controls НЕ ТОЛЬКОв Windows XP:
KOLnMCK 2.26 with Convert2Mask v.2.21 (26.12.2005) + KOLadd (19.12.2005) + fakeVariant.pas , по адресу: http://www.uus4u.com/download/modules/KOLnMCK/KOLnMCK_oldC2M.rar
gRush Controls 0.29 (01.11.2005), по адресу: http://www.uus4u.com/download/modules/KOLnMCK/grush029.rar

Не забудьте сделать ReBuild KOLnMCK и ВСЕХ ПАКЕТОВ

P.S. Такая связка KOL и gRush работает корректно, быстро и без глюков под все Windows (не тестировал под Windows 95 и Vista...и 3.1 :о) )...
P.S.S. Да простит меня homm за перепаковку архива :о)

ПОЗДРАВЛЯЮ ВСЕХ С НАСТУПАЮЩИМ НОВЫМ ГОДОМ И РОЖДЕСТВОМ !!! ЖЕЛАЮ ВСЕМ СЧАСТЬЯ И УСПЕХОВ !!!

С Уважением MTsv DN


Vladimir Kladov   (2005-12-25 20:47:00) [84]

версия 2.26:

Новости от 25 декабря 2005 г.

Новости KOL и MCK (v2.26):
[-]MCK: изменено правило сравнения новой (сгенерированной) версии кода с предыдущей версией в inc-файле: теперь не учитывается код, полученный в результате работы П-компилятора (меньше изменений inc-файлов на дисек, более быстрая работа Delphi)
[-]MCK: испрвлена генерация П-кода для оставшихс объектов (надеюсь, теперь действительно большинство из них готово к работе с Collapse).
[*]KOL: небольшие изменения в WndProcPaint (удалено клипование по fUpdRgn).

Я про эту строку не понял. Сначала шлете письмо, в котором говорите, что она мешает. Потом еще кучу писем, и никакого упоминания. Я так решаю, что уже не мешает. А теперь опять про нее вспоминаете. Аккуратнее письма надо писать, и оформлять изменения аккуратно. Уж во всяком случае, должно быть понятно, что, куда, вместо чего и почему. На всестороннее исследование присланного мне кода у меня нет ресурсов. Или мне трудно поверить, что у меня есть свои планы, и что, если появляется свободное время, я в первую очередь буду делать то, что мне кажется важнее, чем разбор почты. Сейчас для меня важнее закончить collapse, уменьшить свой большой проект, чтобы иметь возможность дальше с ним работать. Мои планы на новогодние каникулы - полностью заняться коллапсом. Так что доделывайте прозрачность и буферизацию до логического финала, шлите конечный код, вставим ВМЕСТО старого - с превеликим удовольствием. Я же верю что оно лучше прежнего, какие претензии к моей любви к прежнему коду. Просто надо будет тестить на совметимость старых приложений, а не только GrushControls (которых у меня кстати и нет вовсе). С Наступающим!


homm   (2005-12-25 12:18:00) [85]


> Давно бы уже нашлибагу самии выслаличто исправить

Нашли: OnPaint делает нерабочим Transparent и DoubleBuffered
Сами: Убрать if fUpdRgn <> 0 then SelectClipRgn( fPaintDC, fUpdRgn );
Выслали: См [9] и давнишнее письмо.

Думаете стандартные контролы при реакции на WM_PAINT делают что-то подобное? Зачем же при переопредилении прорисовки это добавлять?

ЗЫ Абсолютно согласен с SPeller, в том что Вы никому ничего не должны, даже обяснять причины по которым у вас нет времени, просто сами же просите - присылать исправления, и не реагируете никак.


Vladimir Kladov   (2005-12-25 11:37:00) [86]

Впрочем еще не все. Только что поправил меню и попап-меню, но еще что-то не так с обработкой нажатий кнопок на тулбаре, причем в ситуации, когда на форме 2 и более тулбаров, причем в одном случае все ок, а в другом какие-то неприятности. Еще вылезла проблема с длинными строками, тоже вылечил. Может сегодня еще обновление будет. Вот таблица сравнения размеров на 4 формах, с которыми я успел плотно поработать и коллапсировать:


 новый старый
 размер размер

form1  11156 26036
form2    5900 14220
formOpen                2292   5540
formWait             264     556

всего            1922048 1948672 -26624


-26К может и немного, но у меня 40 форм с лишком, и некоторые еще больше.


Vladimir Kladov   (2005-12-24 22:54:00) [87]

Выкладываю версию 2.25.

Новости от 24 декабря 2005 г.
 

Новости KOL и MCK (v2.25):

[-]MCK: устранено создание лишних файлов xxxx.pas_1.inc вместо xxxx_1.inc.
[-]MCK: исправлена генерация П-кода для большинства контролов и объектов.
[-]Collapse: некоторые исправления в PCompiler, Collapse.pas, документации, дистрибутиве. Теперь он в основном функционален.
[*]KOL: небольшие изменения в исходном коде (в основном удаление устаревшего и закомментированного кода, чтобы уменьшить файл до 64K строк и отладчик Delphi опять смог работать).

Collapse уже вполне рабочий. На 3х (очень больших по числу контролов и по размерам меню) формах код уменьшился на 10К, после общего сжатия upx-ом - на 3К (т.е. байт-код жмется также примерно втрое).


SPeller   (2005-12-24 06:59:00) [88]

homm ©   (23.12.05 23:42) [9]
Эта фраза у меня кроме улыбки сегодня ничего не вызывает

Зря ты так. У человека работа, семья и личные дела, и он никому ничего не должен. Поэтому лучше воспользуйся советом самостоятельно найти баг. А насчет обновок - надо всё писать лично письмами, а не на форуме.


homm   (2005-12-23 23:42:00) [89]


> Давно бы уже нашли багу в асм-коде сами и выслали что исправить
Эта фраза у меня кроме улыбки сегодня ничего не вызывает. СЕГОДНЯ ровно мэсаЦ ......

Вот только та версия прозрачности, что Вы включили устарела. Конечно и мой промах тоже, что не соощил об изменениях, но согласитесь не всегда охото и приятно общатся с человеком в одностороннем порядке. Последняя версия на www.homm86.narod.ru. Кроме того я неоднократно говорил, а Вам в особености, что прозрачность (и ваша в том числе) не работает правильно без правки WndProcPaint. Нужно либо убрать строки
if fUpdRgn <> 0 then
 SelectClipRgn( fPaintDC, fUpdRgn );

либо, если Вы так хотите сохранить В КОРНЕ НЕ ПРАВИЛЬНУЮ РЕАКЦИЮ НА свою прозрачность для контролов, использующих переопределение OnPaint, нужно изменить хотябы так:
if (fUpdRgn <> 0) and not (Self_.homm_fSelfRequirePaint or
   Self_.homm_fParnetRequirePaint) then
 SelectClipRgn( fPaintDC, fUpdRgn );

Хотя я например не понимаю зачем теперь нужна старая прозрачность. Я бы предпочел, чтобы Вы заменили прозрачность полностью, а на случай проблем ввели бы какой нибудь символ (версии на четыре - пять), включающий старую прозрачность вместо новой. Но так бы предпочел я, а как будет на самом деле решать конечно же Вам.


Vladimir Kladov   (2005-12-23 21:06:00) [90]

Я обновил версию до 2.24.

2homm: я бываю оченьзанят, и не только программированием. Есть еще и семья, и работа. Давно бы уже нашли багу в асм-коде сами и выслали что исправить. Или вы думаете что это так легко: сидеть в асм-командах разбираться, баги отлавливать.


LazyC0DEr   (2005-12-23 18:10:00) [91]

2 ECM
По поводу 4) , мне кажется, что надо в baselib.pas добавить


{$IFDEF Pcode}
procedure AddWord_StoreByte;
{$IFDEF Psource}
AddWord_StoreByte PROC SMART //--by PCompiler:line#947
 Baselib.ParamWord + Baselib.StoreB
 EXIT
 ENDP
{$ENDIF Psource}
{$ELSE OldCode}
procedure AddWord_StoreByte;
asm
 //
end;
{$ENDIF Pcode}


На счет 6) у меня помогло добавление подчеркивания после TControl в mirror.pas

Так же в baselib.pas пришлось добавить
 
  procedure xNOT;
  asm
     not  dword ptr [esp+4]
  end;

 
  procedure xyAnd;
  asm
     pop  ebx
     pop  eax
     and  [esp], eax
     jmp  ebx
  end;

 
  {$IFDEF Psource}
  &   PROC INLINE
      Baselib.xyAND
      ENDP
 {$ENDIF Psource}
 {$IFDEF Psource}
  ~   PROC INLINE
      Baselib.xNOT
      ENDP
 {$ENDIF Psource}


MTsv DN   (2005-12-23 13:07:00) [92]

2 homm
Ну неужели у меня у одного Convert2Mask всегда глючит?
Нет... Не только у тебя... Я вообще использую KOL 2.23, а Convert2Mask из 2.21. И gRush 0.29... Просто в такой связке, под Windows от 98 и выше, все работает корректно, быстро и без глюков...

С Уважением MTsv DN


homm   (2005-12-23 08:42:00) [93]


> homm ©   (22.12.05 21:33) [3]

> По поводу второго - При компиляции Collapse
Поправочка: это насечет пятого, а не насечет второго.

GRushControls работают как и с предидущими версиями. Т.Е. В XP ВСЕ отлично, контролы могут быть прозрачными, рисуются в миг, не вылетают нигде.

В 9X: Ну неужели у меня у одного Convert2Mask всегда глючит? Мне уже чесно говоря порядком надоело слать Владимиру одни и теже демы с разными проблемами от версии к версии. Мне чесно говоря уже глубоко **** на проблемы производительности этой функции, лиш бы она работала. Но в очередной раз ВЕРХНЯЯ СТРОКА рисуется с какойто псевдо случайной прозрачностью пикселей. Это касается ASM версии. PAS я как запустил, так сразу и похерил прямо в Kol.pas у себя. Она вообще DDB никак не выводит (ни одного opaque пикселя). Владимир, ведь можно же хотябы DemoProject55 и 66 прогнать из архива mail.zip из письма от 29 Oct 2005 21:57:00 +0600. Вот выложу его еще сюда с откомпилеными из под v2.23 экзехами. Кстати они до сих пор выглядят по разному. (поясняю для всех остальных: Они отличаются только способом загрузки битмапа - 66 грузит из файла, и отображается  коректнее чем 55, который грузит из ресурсов).
http://www.homm86.narod.ru/files/mail.zip

ЗЫ Завтра ровно месяц, как Владимир обещался посмотреть мою реализацию прозрачности контолов. Осталось два года и одиннадцать месяцев. Тем кто пользуется уже сейчас, не забудте WndProcPaint подправить, с ней Владимир тоже хотел что-то сделать, не сделал пока...

ЗЗЫ Может я слишком резко выразил свои мысли, просто действительно накипело.


Vedun   (2005-12-22 22:23:00) [94]

2 homm
А твои компоненты GRushControls с Версия 2.23+Collapse работают?


homm   (2005-12-22 21:33:00) [95]

Delphi5:
Присутствуют ошибки (см ECM ©   (21.12.05 19:48) [2]):
1), 2), 5)

По поводу второго - При компиляции Collapse во время одной из стадий вылетает сообщение что какой-то файл не найден - разглядеть нереально, а где посмотреть незнаю.

Кроме того возникло много вопросов по файлу PCompiler.cfg:
Он для ручной или афтаматичецкой сборки? Неужели его создание нельзя как либо оптимизировать? Нужны ли кавычки в путях?


ECM   (2005-12-21 19:48:00) [96]

Решил тут вот по свободе начать разбираться с Collapse...:)
- Распаковал KOL+MCK 2.20, сделал update до 2.23
- Скачал последний архив Collapse, почитал описалово...
- Решил создать простой MCK-проект c одной пустой формой
- Выполнил все рекомендации из UsingCollapseInMCK_ru.htm
При попытках собрать заметил следующее:
 1) UsingCollapseInMCK_ru.htm: скопировать в директорию проекта файл Pcompiler.cfg из папки COLLAPSE\Units и настроить - Нет такой папки в архиве - ну и ладно,  этот файл нашелся в Collapse\TestCollapseX\  ... :))
 2) Компилятор ругается на отсутствие InstallCollapse - в доке не описано,а МСК автоматом не добавляет uses Collapse - ерунда - пропишем руками...
 3) Ошибка компилятора в Collapse.pas, line 262 - Operand size mismatch (У меня Delphi6)
 OR    AL,$FFFFFFF0  исправил на OR AL,$F0  - так понимает нормально :))
идем дальше....
 4) Компилятор начинает ругаться на отсутствие функции AddWord_StoreByte... в BaseLib.pas такой функции нет :( - но есть AddWord_Store.  Решил что это рудимент в МСК - заменил генерацию этой функции в mirror.pas (строки 8631,14681,14954) на AddWord_Store - не знаю только корректно ли это?
 5) Нет файла CollapseProcTable1.inc - остальные есть(CollapseProcTableX.inc) а этот никак... - создал пустой файл руками
 6) Undeclared identifier в CollapseProcTable2.inc:
{ $C0 } DD TControl.SetBorder
{ $C1 } DD NewForm
{ $C2 } DD TObj.Create
{ $C3 } DD TControl.SetCtl3D <= Undeclared identifier
{ $C4 } DD TControl.Add2AutoFree
{ $C5 } DD TControl.SetHasBorder <= Undeclared identifier
{ $C6 } DD TControl_.SetCanResize
Закоментировал пока эти строки...

Собралось!!!  
Буду ковыряться дальше


RA   (2005-12-21 09:37:00) [97]

Кто-нибудь на Д5 колапс пробовал?
Что-то он у меня постоянно ругается на строку
CMP byte ptr[EAX], $E4
Говорит, мол инструкция по адрессу ...
Да, пытаюсь компильнуть просто пустой поект. Сегодня попробую взять проект из демки.


Страницы:   1 2 3 4 5

Наверх

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