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

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

Could not compile KOL 2.10


Страницы:   1 2

Dodfr ©   (2005-07-12 01:30:00) 

Hi,

I get "not enought parameters" on a lot (may be all) of Rpt() calls within mck mirrors when I try to compile last 2.10 KOL.

In fact Rpt is called only with string parameter, no color

procedure Rpt( const S: String; Color: Integer );

Is that normal or did I miss something ?


ECM   (2005-07-18 16:40:00) [1]

2RA вопрос не о Rpt... надо взять mckFake... из 2.07
а по поводу Rpt вот ответ Кладова из переписки со мной

epn> Здравствуйте Владимир!

epn> По-моему после доработки Rpt(...,Color) оказались пропущены исправления для
epn> файлов mckXxxEditor.inc....
epn> это проявляется при переcборке главного MCK-пакета...

epn> D7

epn> ECM mailto: ecm@ydk.com.ua

да, я уже заметил. Надо самому поправить или в процедуре Rpt сделать
второй параметр по умолчанию = WHITE как раньше, или во всех этих
.inc-файлах добавить , WHITE


RA   (2005-07-18 15:21:00) [2]

2Barloggg Если дернуть из 2.07, то это ни к чему не приведет.

Лучше поправить объявление функции Rpt так:
rpt(S:String; color:TColor = WHITE);
{это если у вас Delphi>=4}

Сама функция в модуле mirror.pas.


Barloggg   (2005-07-18 13:55:00) [3]

well... a just set comment to every line with this error... no more RPT...
it's wrong?
---------in RU
Я закоментировал все строчки с такой ошибкой и всего делов.
Хотя лучше добавлю коладд в усес. или дернуть из 2.07 этот инк файл?


Dodfr   (2005-07-14 13:54:00) [4]

Sniper17 : if you have same problem than me, just // the rpt() lines and also // the two actionlist in mckFakeCtrls.inc


Sniper17   (2005-07-14 11:02:00) [5]

Dodfr:
How can I compile KOL2.10 then? %-)


fellix   (2005-07-14 01:48:00) [6]

>Dodfr

Try to do this manually. :-)
Set Project -> Options -> Linker -> Detailed and compile the project both with KOL 2.09 and 2.10. Of course, ensure that other options are identical. Then compare obtained *.map files manually or using any text file comparer, e.g., standard fc.exe or DiffLines ( http://bonanzas.rinet.ru/DiffLines.zip).


Dodfr   (2005-07-14 00:45:00) [7]

fellix, which tool to analyze detailed map ?


Dodfr   (2005-07-13 21:50:00) [8]

sorry sniper17 I can't read russian


fellix   (2005-07-13 20:58:00) [9]

Forget it and check the map. :-)
You can find size of every module used.


Sniper17   (2005-07-13 20:57:00) [10]

так как в итоге скомпилить KOL 2.10?


Dodfr   (2005-07-13 20:41:00) [11]

I checked the RCDATA PACKAGEINFO resource from both EXE but they import same units.


fellix   (2005-07-13 20:22:00) [12]

>Dodfr
Nothing mentioned noticed on my projects. Try to analyze detailed map file.


Dodfr   (2005-07-13 20:17:00) [13]

talking about bytes, nobody noticed increase of it's EXE size from 2.09 to 2.10 ? I tested by recompiling in 2.09 and back again to 2.10 and 2.10 produce 30KB bigger EXE.


fellix   (2005-07-13 19:40:00) [14]

> ECM ©   (13.07.05 15:07) [16]

KOL ideology is "if something isn't used, the code isn't generated". Even if declared. (Actually, including KOLAdd into 'uses' clause adds around 70 bytes to the code.)
If you require ActionList, you need to 'unpatch' MCKFakeClasses.inc back. So adding 'KOLAdd' into every unit containing KOLForm is more universal decision.


ECM   (2005-07-13 15:07:00) [15]

2fellix   (13.07.05 14:13) [15]
The best method is to do it automatically

Yes... But notin all MCK-projects KOLadd.pas it is really necessary. It should be added automatically only for projects with KOLAction(List).It is already realized in a mirror for KOLActionList. With use of function AdditionalUnits

see http://www.delphimaster.ru/cgi-bin/forum.pl?id=1110119068&n=10post [49]


fellix   (2005-07-13 14:13:00) [16]

>ECM
Yes, agree, that's ugly. Truly speaking, I also always patch MCKFakeClasses.inc. That's just another way.
The best method is to do it automatically. As for me, Vladimir Kladov, extracting KOLAdd.pas from KOL.pas, had to change

'uses Windows, Messages, ShellAPI, KOL'

to

'uses Windows, Messages, ShellAPI, KOL, KOLAdd'

in mirror.pas/TKOLForm.GeneratePAS function.


ECM   (2005-07-13 13:54:00) [17]

P.S.
( 8 chars) * N (units) * M (projects)


ECM   (2005-07-13 13:53:00) [18]

2fellix   (13.07.05 13:39) [12]:
", KOLadd" ( 8 chars) * N (units)
vs
"//" * 2 = 4 chars in MCKFakeClasses.inc
??? K.I.S.S


fellix   (2005-07-13 13:39:00) [19]

> Dodfr
> ECM

Another way (w/o patching MCKfakeClasses.inc) is to include KOLaddin usesclause in everyproject's unit.
Example:

{$IFDEF KOL_MCK}
uses Windows, Messages, ShellAPI, KOL {$IFNDEF KOL_MCK}, mirror, Classes {$ENDIF}, KOLadd;
{$ELSE}
{$I uses.inc}
 ;
{$ENDIF}


ECM   (2005-07-13 13:02:00) [20]

Dodfr   (13.07.05 12:43) [10]
...
Strange that "complete" 2.10 package have bug and sequential update do not...


Vladimir lost new version MCKfakeClasses.inc in versions > 2.07


Страницы:   1 2

Наверх

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