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

Вниз

Версия 2.23+Collapse   Найти похожие ветки 

 
Vladimir Kladov   (2005-12-19 20:42) [0]

Новости от 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 в секции Инструменты.


 
RA ©   (2005-12-21 09:37) [1]

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


 
ECM ©   (2005-12-21 19:48) [2]

Решил тут вот по свободе начать разбираться с 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
Закоментировал пока эти строки...

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


 
homm ©   (2005-12-22 21:33) [3]

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

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

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


 
Vedun   (2005-12-22 22:23) [4]

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


 
homm ©   (2005-12-23 08:42) [5]


> 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 подправить, с ней Владимир тоже хотел что-то сделать, не сделал пока...

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


 
MTsv DN ©   (2005-12-23 13:07) [6]

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

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


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

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}


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

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

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


 
homm ©   (2005-12-23 23:42) [9]


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

Вот только та версия прозрачности, что Вы включили устарела. Конечно и мой промах тоже, что не соощил об изменениях, но согласитесь не всегда охото и приятно общатся с человеком в одностороннем порядке. Последняя версия на 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 );

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


 
SPeller ©   (2005-12-24 06:59) [10]

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

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


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

Выкладываю версию 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К (т.е. байт-код жмется также примерно втрое).


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

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


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

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

всего            1922048 1948672 -26624


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


 
homm ©   (2005-12-25 12:18) [13]


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

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

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

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


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

версия 2.26:

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

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

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


 
MTsv DN ©   (2005-12-26 08:40) [15]

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

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


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

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


 
MTsv DN ©   (2005-12-26 11:49) [17]

Привет...

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

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


 
Vladimir Kladov   (2005-12-26 20:17) [18]

ссылку я поправил, а вот различий не нашел. Только файл VERSION в одном случае говорит 220to226 а в другом 220to225. Проверял в WinMerge.


 
MTsv DN ©   (2005-12-26 21:23) [19]

Привет...
Извиняюсь... "Приглючилось"...вернее,папку перепутал :о)
С Уважением MTsv DN


 
Vladimir Kladov   (2005-12-29 17:08) [20]

Выпустил 2.27:

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

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

[*]MCK: еще изменения для минимизации числа сохранений inc-файлов на диск и ускорения работы в Delphi

[-]KOL: в Rich Edit, исправлено свойство TControl.RE_URL.

Прочие новости:

[+]добавлен архив KOLODBC для работы с базами данных из KOL и VCL через ODBC.


 
MTsv DN ©   (2005-12-29 19:13) [21]

KOLnMCK 2.27 (29.12.2005) + KOLadd (19.12.2005) + fakeVariant.pas, по адресу: http://www.uus4u.com/download/modules/KOLnMCK/KOLnMCK.rar

А также? для тех кто собирается использовать gRush Controls НЕ ТОЛЬКО в Windows XP:
KOLnMCK 2.27 with Convert2Mask v.2.21 (29.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 и ВСЕХ ПАКЕТОВ

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

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


 
homm ©   (2005-12-29 19:27) [22]

2 MTsv DN

> P.S.S. Да простит меня homm за перепаковку архива :о)
За это конечно прощу, НО я же не раз говорил не использовать присланый мной для ЛИЧНОГО пользования в КОНКРЕТНОМ приложении, котором уже не имело смысла вручную править dfm"ы, файл MCKGRushControls.pas в своих демах, а вместо этого ты его в открытый архив воткнул.

2 Kladoff
Пись-пись-пись-письмо-о-о-о!

Any other
Может есть мОзги с глубокими познаниями по системе сообщений Windows, или просто люди с свободным временем и возможностью покапатся в MSDN? Милости прошу смотреть такой вопрос:
http://delphimaster.net/view/4-1132859053/


 
Vladimir Kladov   (2005-12-29 20:14) [23]

не получал писем от homm с 3 декабря. То ли что-то с почтой, то ли не знаю, но последнее время поток спама ушел в ноль. Я получаю максимум 5-10 сообщений против прежних 40-80, так что пропустить мимо просто невозможно.


 
homm ©   (2005-12-29 20:27) [24]

насчет колапса:
{ $C0 } DD TControl.SetCtlColor --> { $C0 } DD TControl_.SetCtlColor
{ $C7 } DD TControl_.SetEraseBackground --> Нет такого метода вовсе
Зачем столько дебага в компилере. У меня, после вытряски лишнего стал 51к весить, а работает как раньше.

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


 
homm ©   (2005-12-29 20:34) [25]


> Vladimir Kladov   (29.12.05 20:14) [23]
Не проблема:
http://www.homm86.narod.ru/files/2kladov.zip
там и текстовик и вложение (UPD файл).


 
homm ©   (2005-12-29 22:25) [26]

Взялся за приручение колапса для GRush. Сразу вошел в ступор - вот в UnitX_1.inc обычно с
{ KOL MCK } // Do not remove this line!
const Sizeof_TForm1 = Sizeof(TForm1);
type TControl_ = object( TControl ) end;
type TObj_ = object( TObj ) end;
type _TObj_ = object( _TObj ) end;

начинается. А как туда
type TGRushContol_ = object( TGRushContol ) end; то вставить?


 
homm ©   (2005-12-30 08:28) [27]

PcodeProgrammingMCKcomp_ru.htm

> P_ProvideFakeType
> Этот специальный метод добавлен в предок всех зеркал невизуальных
> объектов с тем, чтобы возможно было добавить в генерируемый
> inc-файл формы объявления вроде type TThread_ = object(
> KOL.TThread ) end; и получить таким образом доступ к защищенным
> (protected) полям и методам объекта
А визуальным, прошу прощения, лапу сосать?

ЗЫ Колапсу в гршах быть! Процнтов на сорок уже готово. Копипаст в MCK рулит!


 
homm ©   (2005-12-30 08:47) [28]

TKOLCustomControl.P_DoAssignEvents
if EventAssignProc[ I ] then
     begin
       if p = "" then p := "Set" + s
       else p := s;
       {P}SL.Add( " LoadSELF Load4 ####T" + ParentKOLForm.FormName + "." +
         ParentForm.MethodName( EventHandlers[ I ] ) );
       {P}SL.Add( " C2 TControl_." + p + "<1>"
                  );
     end

А кто же о GRush"ах подумает?


 
homm ©   (2005-12-30 09:27) [29]

Ширина строк, загруженых
LoadAnsiStr "Button1" #0
становятся больше на несколько пикселей (может пробел в конце?).


 
homm ©   (2005-12-30 09:40) [30]

[29]: Сори, мой косяк. Все потому что свойство ContentOffsets для колапса не сделал. А не сделал потому что не могу понять как вызвать
procedure SetAll_ContentOffsets(Val: TRect);


 
Vladimir Kladov   (2005-12-30 10:37) [31]

для визуальных есть вроде бы TControl_, оно уже определено. Свои данные которые через CustomData / CustomObject - должно было бы видно определение своей структуры (хотя я еще не пробовал).

А зачем такая спешка? Переелывать стоит под П-код, если уже не планируется изменения в коде. Иначе потом опять все переделывать. П-код переделывать не так просто как паскаль.


 
ECM ©   (2005-12-30 10:55) [32]


> [+]добавлен архив KOLODBC для работы с базами данных из
> KOL и VCL через ODBC.

Ну вот... только сам сел рисовать KOLODBC.... :))
Thanx!!!


 
homm ©   (2005-12-30 12:09) [33]

Я так понимаю, что изначально Вы предпологали, что наследник TControl, это что-то вроде вашего
THilightMemo = object( TControl )
 protected
   procedure Init; virtual;
   function GetEdit: PHilight;
 public
   property Edit: PHilight read GetEdit;
   destructor Destroy; virtual;
 end;

Но гн Сидоров написал статью, про то как нужно с его сточки зрения писать компоненты для KOL (и по видимому не нужно с вашей). Так уж вышло что я смотрел на эту статью и исходники RBControls, а не в исходники HilightMemo и не знал как правильно. В результате у моих компонентов бешеное количество свойств SetXXXX у объекта TGRushControl вместо TGRushData. И все их мне нужно видеть в XXX_1.inc. Хотя я не понимаю, как поможет если эти Set/GetXXXX будут у CustomObj, ведь они все равно останутся в секции protected, и понадобится их Fake.

А вот насчет P_DoAssignEvents придется свою версию делать. Может Вам ее сделать виртуальной?

Еще мне кажется что Вам было бы неплохо взятся за зеркало для HilightMemo - убъете сразу трех зайцев.
1) Отличное зеркало для отличного компонента - всегда отлично.
2) Посмотрте на Колапс с моей точки зрения, увидете то о чем я говорю.
3) Отличный солюшн о том, как писать колапс зеркала именно для наследованных компонентов.

ЗЫ
> Переелывать стоит под П-код, если уже не планируется изменения
> в коде.
Модуль MCKGRushControls.pas я уже версий так пять не трогал.

ЗЗЫ
> А зачем такая спешка?
Дык сессия же с 7-го числа ;)


 
Vladimir Kladov   (2005-12-30 12:31) [34]

Мне по работе надо было, требование заказчика: никаких ADO/MDAC ставить нельзя, БД MS SQL 6.5, NT4SP5 IE3. Секретность, все что новее требует сертификации. Так что я вынужден был.

А поле для доделки еще есть: нет работы с блобами, нет параметров (мне-то они не нужны, я без них обходиться привык, а насчет большей эффективности этого механизма очень не уверен).

Кстати без ADO приемка от сервера больших объемов данных стала намного быстрее. И появилась возможность ускорять работу вдвое: несколько запросов, возвращающих result sets, объединяются в один, и сервер их пытается запараллелилить, и можно их получать через More.

2homm: письмо получил, ответ отправил.


 
Vladimir Kladov   (2005-12-30 12:32) [35]

SetAll_ContentOffsets - если параметр var или const то будет проще, потому что просто передается указатель на структуру.


 
homm ©   (2005-12-30 12:48) [36]

Встроеный ASM ругается на строковую константу длиной всего 163 символа. (D5)


 
homm ©   (2005-12-31 16:36) [37]

MaxProgress не ставится в Колапсе. SetMaxProgress принимает 2 параметра (первый - индекс).

До нового года остальсь 6 часов. Всех с наступающим!


 
Vedun   (2006-01-03 17:22) [38]

Решил попробовать Коллапс. Сделал проект с большим кол-вом контролов. После компиляции П-кода и проекта вцелом (с Pcode) размер exe уменьшился. Но в работающей программе все EditBox и некоторые Group залиты черным цветом. При компиляции с noPcode все работает нормально.
Тогда создал новый проект с одним EditBox на форме. Откомпилировал с Pcode - все нормально, ЭдитБокс белый, а не черный.
Сегодня буду разбираться, когда появляется чернота.


 
Vladimir Kladov   (2006-01-04 15:06) [39]

Новости от 4 января 2006 г.

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

[*]KOL: добавлен символ условной компиляции USE_PROP: если он есть в свойствах проекта, то работает прежний метод GetProp/SetProp для ассоции объекта TControl со своим окном, иначе (теперь по умолчанию) используются GetWindowLong / SetWindowLong и ассоциация сохраняется в поле GWL_USERDATA (чуть быстрее, чуть меньше размер кода, но поле GWL_USERDATA в этом случае не может использоваться для других целей).

[*]KOL: свойства TControl.DoubleBuffered, TControl.Transparent полностью заменены новым, полностью переработанным кодом от homm.

[-]KOL/MCK: восстановлена совместимость с Delphi2/Delphi3 (символ NOT_USE_KOLCTRLWRAPPER включается для этих старых версий Delphi для полного предотвращения использования KOL-контролов (wrappers) на этапе разработки).

[*]KOL: небольшие изменения в реализации графических контролов (градиентная панель теперь может быть родителем графических контролов не утрачивая свою градиентную заливку).

[-]KOL: исправление в функции NewDibBitmap: память для изображения DIB выделяется с небольшим запасом (16 байт) для предотвращения записи мимо выделенной памяти в методе TBitmap.Convert2Mask.

[-]MCK: исправлена генерация П-кода для TControl.MaxProgress.
Прочие новости:

[+]обновлен пакет Collapse (переписан PCompiler, и работает теперь за меньшее число проходов, некоторые другие изменения).


 
homm ©   (2006-01-04 17:29) [40]


> [*]KOL: свойства TControl.DoubleBuffered, TControl.Transparent
> полностью заменены новым, полностью переработанным кодом
> от homm.
От себя добавлю, что новая прозрачность нисщадно тестировалась Владимиром около недели. В ходе тестирования было выловлено большое количество глюков (в том числе и в КОЛ, в том числе и не всегда даже относящихся к прозрачности непосдедственно), поправлены некоторые фундоментальные (я бы даже сказал догматические) функции KOL (причем чаще в сторону удаления более не нужного кода), счетчик версий самой функции равен примерно десяти.

Собственно что дает новая функция?
1) Контролы НЕ моргают своей неклиентской частью.
2) Количество перерисовок значительно сокращено.
3) Она значительно легче предидущей прозрачности (1472 байта против 3172 в версии 2.27).
4) Новую прозрачность можно не только ставить, но и УБИРАТЬ! Этим до сих пор грешат многие КОЛовские свойства. Новая прозрачность и буферизация же может быть назначена и убрана в любом порядке и не влияет на производительность после отключения (чего не скажеш о предидущем решении).

ЗЫ Знаю, что хвастать не хорошо, прочто это мой первый ЗНАЧИТЕЛЬНЫЙ, вклад в КОЛ (надеюсь не посленний) :)



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

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

Наверх





Память: 0.62 MB
Время: 0.047 c
2-1184827082
Mari
2007-07-19 10:38
2007.08.12
как зная название поля узнать тип его?


2-1184524311
Pont
2007-07-15 22:31
2007.08.12
Вырезание из файла


1-1180440433
gray_falcon
2007-05-29 16:07
2007.08.12
Есть ли замена для TMemoryStream


15-1184343965
SkySpeed
2007-07-13 20:26
2007.08.12
Объясните плиз работу 2-х ядерного процессора...


15-1184583715
StriderMan
2007-07-16 15:01
2007.08.12
Commit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский