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

Вниз

Версия 2.41 (unstable, beta)   Найти похожие ветки 

 
Vladimir Kladov   (2006-10-28 20:39) [0]

Новости от 28 октября 2006 г.

Первая важная новость: этот сайт переехал на (это) новое место. Как вы можете видеть, у нас теперь короткое и запоминающееся имя: http://kolmck.net. Огромное спасибо за этот вклад  Thaddy de Koning!

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

[*]KOL: очень важно:  поддержка UNICODE значительно улучшена. С символом UNICODE_CTRLS, приложение перекомпилируется практически с полной поддержкой UNICODE, включая работу визуальных контролов, реестра, файловых имен, и т.п. (Примечание: для использования UNICODE, загрузите дополнительно KOL_unicode.zip, содержащий необходимый файл KOL_unicode.inc, с перенаправлением большинсва функций и типов API Windows к их версиям UNICODE). Соответствующие изменения так же выполнены для delphicommctrl.inc, содержащемся в основном архиве kol.zip.

[*]KOL: другая важная новость: начат процесс портирования KOL для Linux (используется GTK+ как основной инструмент GUI-строительства). Так что, KOL.pas теперь содержит множество опционального кода, закрытого скобками {$IFDEF}...{$ENIF}. На данный момент, возможно загрузить дополнительно необходимые модули GTK (портированные из изначально заготовленных авторами для работы с компилятором Free Pascal и несколько измененные для обеспечения возможности компиляции их из Delphi) и проверить эту функциональность под Windows (так же понадобится установить пакет GTK for Windows, линк дан в архиве с модулями GTK+).

[*]KOL: большая часть ассемблерного кода вынесена в отдельный файл KOL_ASM.inc. Тем не менее правила использования asm-версии те же: добавление символа PAS_VERSION к опциям проекта приводит к отказу от использования ассемблерной версии кода. (С этим изменением, существенно уменьшено число строк в модуле KOL.pas, и образуется дополнительное пространство для добавления новых возможностей. Так, объекты TWStrList и TWStrListEx вновь возвращены в KOL.pas из KOLadd.pas, еще и потому, что они требуются для более полной поддержки UNICODE).

[*]KOL: дополнительно к SMALLEST_CODE, вводится символ SMALLER_CODE, обеспечивающий промежуточный уровень экстремальной оптимизации размера кода. Различие в том, что при его использовании функциональность и внешний вид не изменится, единственное, что может несколько пострадать скорость работы приложения и не будет уделяться особого внимания экономии ресурсов.
[*]KOL: символ BUTTON_DBLCLICK_AS_CLICK удален и введен противоположный по смыслу BUTTON_DBLCLICK. Без него, все кнопки не отлавливают более двойной клик как отдельное события, просто срабатывая дважды. Используйте BUTTON_DBLCLICK, если копки должны отдельно реагировать на событие двойного клика мыши (но в этом случае OnClick только один раз на двойной клик).

[*]KOL: некоторое количество методов и типов объявлены как устаревшие ("deprecated") и перемещены в отдельный включаемый файл KOL_deprecated.inc. Для использования этих объявлений, загрузите архив KOL_deprecated.zip и разрешите использование устаревших методов символом ENABLE_DEPRECATED.

[+]KOL: добавлены функции Find_First, Find_Next и Find_Close, вместе с типомTFindFileData - для абстрагирования процедуры поиска файлов от особенностей операционной системы. Если вы в своих проектах использовали FindFirstFile из Windows.pas или FindFirst из стандартного модуля  SysUtils, перепишите свой код, если это возможно (изменения не слишком велики, но в последующем облегчается портирование приложения на другие платформы).

[-]KOL: переписан метод TObj.Final (и asm-, и Pascal-версии), для обеспечения максимально корректного и стабильного рекурсивного разрушения объектов.

[*]MCK: т.к. тип KOLChar объявлен теперь как не точный эквивалент типа Char (type KOLChar = type Char), то существующие обработчики события OnChar могут становиться несовместимым с новой декларацией. В этом случае, пересоздайте обработчики (сохраните прежний код, удалите старый обработчик, возможно, вручную поправив dfm, затем создайте новый обработчик, и скопируйте старый код на его место, оставив только обновленный заголовок).

[*]MCK: Событие OnLVDataW удалено, используйте OnLVData с символом UNICODE_CTRLS.

[*] Как видите, в этой версии число изменений огромно. Так что, ошибки весьма вероятны. Версия 2.41 выпускается с пометкой "unstable beta" (нестабильная, отладочная). Загружайте ее, устанавливайте в отдельную директория и активно тестируйте. Когда будет устранено большинство ошибок,версия будет заменена стабильной с четным номером.


 
Vladimir Kladov   (2006-10-28 21:02) [1]

А, кстати - забыл в новостях написать, что SetParent работает правильно, и сам отсоединяет из списка на автоудаление от прежнего родителя. В эдакой куче изменений мимо проскочил, а само не вспомнилось.

Все выложил, забирайте.


 
ANTPro ©   (2006-10-28 21:17) [2]

http://kolmck.net/KOL_linux.zip
404 Not Found :(


 
Vladimir Kladov   (2006-10-28 21:26) [3]

Поправил. Но вообще-то _эту_ часть я еще вовсе не тестировал.


 
MTsv DN ©   (2006-10-28 21:32) [4]

2 Vladimir Kladov
Владимир, архив mck.zip содержит старые версии KOL.PAS, KOLadd.pas, KOLDirDlgEx.pas и delphicommctrl.inc...


 
MTsv DN ©   (2006-10-28 21:45) [5]

Обновление доступно на http://www.kolnmck.ru (архивы исправлены)


 
Vladimir Kladov   (2006-10-28 21:51) [6]

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


 
Vladimir Kladov   (2006-10-28 21:56) [7]

тестируйте лучше обычные проекты, без линукса. UNICOD хорошо потестировать, если кому интересно. А если очень линкс-порт хочется глянуть, берите gtk_pas...., устанавливайте GTK for Windows (линк я там в тесктовик положил, около 10 метров качать), и можно тестировать из-под Delphi под Windows. Хотя тут как раз тестировать особо нечего. Есть форма, кнопка, метка, paintbox, канва, карандаш, кисть - все в начальной стадии. Главное, почин сделан, и можно теперь дальше идти, углублять и расширять. Через месяц глядишь и под линуксом можно будет на что-то посмотреть.


 
MTsv DN ©   (2006-10-28 22:30) [8]

> UNICOD хорошо потестировать, если кому интересно.
С ЮНИКОДОМ полный "косяк"... Я в глубины не лез, ввел первое попавшееся исправление, что я Вам отправлял.
Вот:
function FileExists( const FileName : KOLString ) : Boolean;
{$IFDEF FILE_EXISTS_EX}
var FD: TFindFileData;
   F: DWORD;
   LFT: TFileTime;
   Hi, Lo: Word;
{$ELSE}
var Code: Integer;
{$ENDIF}
begin
 {$IFDEF FILE_EXISTS_EX}
 Result := FALSE;
 F := Find_First( Filename, FD );
 if F = INVALID_HANDLE_VALUE then Exit;
 Find_Close( F );
 if FD.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY <> 0 then Exit;
 FileTimeToLocalFileTime( FD.ftLastWriteTime, LFT );
 if FileTimeToDosDateTime( LFT, Hi, Lo ) then Result := TRUE;
 {$ELSE}
 Code := GetFileAttributes(PKOLChar(FileName));
 Result := (Code <> -1) and (FILE_ATTRIBUTE_DIRECTORY and Code = 0);
 {$ENDIF}
end;

Мало написать "PKOLChar(FileName)"... Надо:
Code := {$IFDEF UNICODE_CTRLS}GetFileAttributesW{$ELSE}GetFileAttributes{$END}(PKOLChar(FileName ));
И так во везде...


 
MTsv DN ©   (2006-10-28 22:31) [9]

> И так во везде...
В смысле: "И так везде..."


 
MTsv DN ©   (2006-10-28 22:36) [10]

Тоже самое: GetModuleHandle(W), GetDiskFreeSpace(W) итдитп... Иначе 100% поддержки UNICODE не будет :"(


 
MTsv DN ©   (2006-10-28 22:47) [11]

Если хотите, могу заняться этим... Только версию "стабильните" какую-нибудь,а я Вам апдейт вышлю,быстро не обещаю,но думаю за неделю PAS-версию осилю...


 
Ketmar ©   (2006-10-28 22:52) [12]

>[8] MTsv DN(c) 28-Oct-2006, 22:30
>(Примечание: для использования UNICODE,
>загрузите дополнительно KOL_unicode.zip, содержащий
>необходимый файл KOL_unicode.inc, с перенаправлением
>большинсва функций и типов API Windows к их версиям
>UNICODE).
это не оно?


 
MTsv DN ©   (2006-10-28 23:39) [13]

> это не оно?
Спасибо... Забыл подключить... Заработало лучше, но не до конца... Вот 4 исправления:
 TDirList = object( TObj )
 {* Allows easy directory scanning. This is not visual object, but
    storage to simplify working with directory content. }
 protected
   FList : PList;
   FPath: string;
...
   {* Number of items. }
   property Names[ Idx : Integer ] : KOLString read GetNames;
   {* Full long names of directory items. }
   property Path : string read FPath;
   {* Path of scanned directory. }
   procedure Clear;
...
function NewDirList( const DirPath, Filter: String; Attr: DWORD ): PDirList;
...
function NewDirList( const DirPath, Filter: String; Attr: DWORD ): PDirList;
begin
 {-}
 New( Result, Create );
...

String -> KOLString...

Еще раз извиняюсь, за вводение в заблюждение 8)


 
D[u]fa ©   (2006-10-29 09:20) [14]

хм.. новую версию даже установить не могу %)

   {$IFNDEF _D2}
   FOnLVDataW: TOnLVDataW;
   {$ENDIF _D2}

[Error] mckCtrls.pas(1186): Undeclared identifier: "TOnLVDataW"
[Fatal Error] mckCtrls.pas(1858): Could not compile used unit "mckCtrlDraw.pas"


 
MTsv DN ©   (2006-10-29 09:26) [15]

Пропиши в interface часть mckCtrls.pas:
type
 TOnLVDataW = procedure( Sender: PControl; Idx, SubItem: Integer;
             var Txt: WideString; var ImgIdx: Integer; var State: DWORD;
             var Store: Boolean ) of object;
 {* Event type for OnLVDataW event (the same as OnLVData, but for unicode verion
    of the control OnLVDataW allows to return WideString text in the event
    handler). Used to provide virtual list view control
    (i.e. having lvoOwnerData style) with actual data on request. Use parameter
    Store as a flag if control should store obtained data by itself or not. }


Еще исправления по UNICODE:
function DirectorySize( const Path: String ): I64;
String -> KOLString...


 
D[u]fa ©   (2006-10-29 09:27) [16]

MTsv DN ©   kol_mck241beta.7z содержит

mirror.pas: * VERSION 2.40  %)


 
D[u]fa ©   (2006-10-29 09:27) [17]

MTsv DN © , в одно время написали %) ошибка в архивчике у тебя =)


 
MTsv DN ©   (2006-10-29 09:33) [18]

> mirror.pas: * VERSION 2.40  %)
Он ни чем не отличается от того, что на сервере у Владимира... Только вместо 2.40 написано 2.41 8) Сравните сами...


 
MTsv DN ©   (2006-10-29 09:34) [19]

>    {$IFNDEF _D2}
>    FOnLVDataW: TOnLVDataW;
>    {$ENDIF _D2}

А вот это уже исправлено... Щас перезалью...


 
D[u]fa ©   (2006-10-29 09:53) [20]

ага, различий много причем не тока в мироре.пас =)


 
MTsv DN ©   (2006-10-29 14:20) [21]

Еще один "косяк" при использовании UNICODE. На BitBtn не отрисовывается Bitmap из ImageList... В чем дело, пока не разобрался...


 
Vladimir Kladov   (2006-10-29 14:46) [22]

FOnLVDataW: TOnLVDataW;


я же его выкинул, откуда он там взялся?


 
MTsv DN ©   (2006-10-29 16:48) [23]

> я же его выкинул, откуда он там взялся?
Во вчерашнем архиве, объявление еще было 8)


 
D[u]fa ©   (2006-10-29 17:19) [24]

Vladimir Kladov, сейчас норм уже %)


 
Vladimir Kladov   (2006-10-30 16:28) [25]

дизайн сайта я сменил. Я сам буду его красить, не нужна мне помощь.


 
Thaddy   (2006-10-30 16:34) [26]

Very nice indeed! Good colors, nice and quiet. Very readable layout.


 
Vladimir Kladov   (2006-10-30 16:37) [27]

When PHP will be set up and ready, I can add selecting some style for view by user at client side (stored in cookies). May be some people (like me) prefer white-on-black or grey-on-navy color scheme or smaller or larger fonts...


 
Vladimir Kladov   (2006-10-30 17:43) [28]

Еще кое-что поправил на сайте. Спасибо за идею использования CSS Александру Шахайло, странички почти вдвое меньше стали, легче вкачивать. (Правда той идее уже 2 года, но я помню).


 
Psychedelic ©   (2006-10-30 21:48) [29]

>>  May be some people (like me) prefer white-on-black or grey-on-navy color scheme or smaller or larger fonts...

Так в Опере это все есть и не только... Зачем время тратить?


 
Vedun   (2006-10-30 23:10) [30]


> дизайн сайта я сменил. Я сам буду его красить, не нужна
> мне помощь.

Да. По-моему лучше, чем было раньше (это мое личное мнение :-) )

> Еще кое-что поправил на сайте. Спасибо за идею использования
> CSS Александру Шахайло, странички почти вдвое меньше стали,
>  легче вкачивать.

Отлично. Меньше за мобильный трафик платить придется. :-))


 
ANTPro ©   (2006-10-31 02:54) [31]

С миниоперы сайт выглядит читабельно.


 
Thaddy   (2006-10-31 11:11) [32]

Vladimir,

I just received a message from Marco vd Voort that there are plans to include the GTK bindings from Den Jean in the FPC 2.1.X development tree... very soon.


 
Vladimir Kladov   (2006-10-31 21:27) [33]

Положил обновление. KOL_unicode.zip - отдельно. Основные архивы не трогал. Сейчас письма по рассылке еще пошлю.


 
Vladimir Kladov   (2006-10-31 21:38) [34]

Так, отправил, и уже сам и получил. Синий фон достался в наследство от предыдущей темы рассылки. Надо к Правдину за правдой идти.


 
MTsv DN ©   (2006-11-01 11:36) [35]

2.41a - доступно на http://www.kolnmck.ru...


 
D[u]fa ©   (2006-11-01 16:01) [36]

Vladimir Kladov , а почему не все АСМ функции в отдельном inc?


 
Vladimir Kladov   (2006-11-01 16:11) [37]

Потому что скриптом (я вам что трактор столько кода руками править?)


 
MTsv DN ©   (2006-11-01 17:47) [38]

:-D


 
D[u]fa ©   (2006-11-01 19:26) [39]

Vladimir Kladov, да я без всякой задне мысли и намеков на трактор это писал %) просто думал какой то скрытый смысл есть %)



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

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

Наверх




Память: 0.55 MB
Время: 0.048 c
2-1179920684
DmitrichJ
2007-05-23 15:44
2007.06.17
Поиск строки в строке


1-1176890019
sirin
2007-04-18 13:53
2007.06.17
Вопрос по RTTI


4-1168172596
algol
2007-01-07 15:23
2007.06.17
Запустить процесс, помогите кто чем может


10-1134032327
_Lucifer_
2005-12-08 11:58
2007.06.17
Создание Add-ins для Word


2-1179816234
unnamed777
2007-05-22 10:43
2007.06.17
GetFileSize





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