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

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

KOL 2.87 for Delphi 2009 (MCK worked.) [Delphi, KOL]


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

azsd ©   (2008-09-15 02:14:00) 

Hey, I wanna share my 'slightly' modified KOL working Copy for Delphi 2009.

http://my1993.com/PpsDES/Report/KOLCore_D12_Maystable_2.rar

I've test KOL parts from three weeks ago in several heavy ANSI related projects. (most application have UNICODE_CTRLS define, some without)
and the MCK parts just works like original copy in Delphi 2007 excepted "KOL_MCK/Classes=;mirror=" may discard during Delphi 2009 project upgrade progress.

MCK parts only have little AnsiString cast for byte related operation, most of them keep String(Unicode in Delphi 2009) there.

I make an Release directory for MirrorPackage/MHXP/mdvControls and other MCK components - they need definition inpackage and without UNICODE_CTRLS, if you forgot cleanup generated dcu after install these package, you application may link with these trouble dcus.
I saved all files to utf8 without BOM if they have non latin chars, so it can compile both in D2009 / Delphi7.
Don't forget to Check [x] Default checkbox in "Install Packages..." dialog after install, or your MCK will nuked (by packagecache) in next IDE startup.

most 3rd components  do not need to modify MCK parts, but KOL part should to deep regular expression replace.

refer Changes_mod.txt in rar archive for changelist.

bug report are welcome, because its an unofficial patch, I must say sorry to Vladimir if somebody shouted my bug to him.

I added some fixme tag in original source, like an function returns KOLString (WideString in UNICODE_CTRLS mode), but it write in asm with LStrFromXXX.
there also some minor workaroud offered in somewhere.


D[u]fa   (2008-09-15 10:47:00) [41]

Уже тоже делал подобное =) но выкладывать потом не стал.. Очень много исправлений связанных с поддержкой уникода приходится делать... и отвечать за эти ошибки не охото)

И если не сделать несколько изменений с IFDEF опять то на 2009 доступа к форме не будет, покрайне мере у меня не было.. а в архиве этих изменений не нашел


azsd   (2008-09-15 10:32:00) [42]

based on 2.87.
do you means unofficial update in kolnmck.ru download section?
I kept asm version than 2.87plus IndexOfChar pascal fix because I hear 2.87+ too late.
I use J+ option to generate obj, then load obj use IDA to compare difference between D7 n D2009... when I have make an argument table, I found it just list officially in rtl source.
It's unlucky I have spend lot of unnecessary time to analyst documented things, but it's lucky It's matched my undocumented argument table.  
LStrFromPChar have an extra 3rd Codepage argument in ECX (ADC),
I use xor ecx, ecx to offered CP_ACP than mov ecx, 0 generate by compiler.
This is only things I worry about ECX will use to store variable in original hand written asm caller (pascal caller will determine protect register automatically).
I debug into most modification routine to confirm ECX is valuable to protect. At least I think its only have over push, miss push routines should no exists at least in kol.pas / kol_asm.inc
When I debug in get_classname, I found literal header add extra field before referencecounter.
I use DD.\s*-1 to find these @@ string defines and add Codepage(CP_ANSI_LATIN1 or CP_ACP) and element size(one byte per Char) before this line.
but I forgot to add IFDEF _D2009OrLater aroud it. It will cause some bytes fater in D2007~D7.
I'll add it later.


Jon   (2008-09-15 05:00:00) [43]

Wow, excellent news! I bet it was more than a 'slight' effort.


> KOL 2.87 for Delphi 2009


Which version did you modify?  2.87 or 2.87+ or 2.87++


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

Наверх

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