KOL

Вопросы использования сторонних (не входящих в состав FPC и Lazarus) утилит и библиотек.

Модератор: Модераторы

affer
незнакомец
Сообщения: 2
Зарегистрирован: 02.07.2006 04:04:13

KOL

Сообщение affer »

Проблема при компиляции KOL 2.30 на FPC 2.02... Делаю все точно так же, как написано в статье http://freepascal.ru/article//raznoe/20060527094958/
Но все равно:

Код: Выделить всё

C:\FPC\2.0.2\bin\i386-win32>fpc -Mdelphi -Rintel -Og1p2 -Xs -XX -CX -Sg kol\kol.
pas
Warning: Only one source file supported
Warning: Only one source file supported
Warning: Only one source file supported
Warning: Only one source file supported
Warning: Only one source file supported
Warning: Only one source file supported
Warning: Only one source file supported
Free Pascal Compiler version 2.0.2 [2005/11/26] for i386
Copyright (c) 1993-2005 by Florian Klaempfl
Target OS: Win32 for i386
Compiling kol\kol.pas
Compiling kol\messages.pas
Compiling kol\windows.pas
windows.pas(19011,30) Fatal: Syntax error, ":" expected but ";" found
windows.pas(262,66) Fatal: Compilation aborted
Error: C:\FPC\2.0.2\bin\i386-win32\ppc386.exe returned an error exitcode (normal
 if you did not specify a source file to be compiled)


windows.pas(19011,30): function AbortSystemShutdownA; external advapi32 name 'AbortSystemShutdownA';

В чем ошибка? Делаю как описано в статье, даже версии FPC и KOL одинаковые.
affer
незнакомец
Сообщения: 2
Зарегистрирован: 02.07.2006 04:04:13

Сообщение affer »

Конвертировал kol.pas при помощи gluecut:

Код: Выделить всё

C:\FPC\2.0.2\bin\i386-win32>fpc -Mdelphi -Rintel -Og1p2 -Xs -XX -CX -Sg kol\kol.
pas
Free Pascal Compiler version 2.0.2 [2005/11/26] for i386
Copyright (c) 1993-2005 by Florian Klaempfl
Target OS: Win32 for i386
Compiling kol\kol.pas
Fatal: Can't find unit RichEdit
Fatal: Compilation aborted
Error: C:\FPC\2.0.2\bin\i386-win32\ppc386.exe returned an error exitcode (normal
 if you did not specify a source file to be compiled)
Аватара пользователя
mr.denton
новенький
Сообщения: 23
Зарегистрирован: 30.04.2006 03:23:07

Сообщение mr.denton »

кинь в папку с Kol.pas все модули из архива ppDelphi.zip. Должно помочь.
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

Помогите, скомпилировать KOL. Использовал статью с сайта, но похоже она устарела. Версию 2.30 достать уже не получилось, а при компиляции других версий - ошибки. Пробовал с 2.58 и самой ранней которую удалось найти 2.40

Вот с 2.40

C:\lazarus\kolfpc>fpc kol.pas -Sd -Rintel -Og2p2 -Xs -XX -CX -Sg
Free Pascal Compiler version 2.0.4 [2007/03/26] for i386
Copyright (c) 1993-2006 by Florian Klaempfl
Target OS: Win32 for i386
Compiling kol.pas
kol.pas(458,15) Warning: An inherited method is hidden by "TThread.Init"
kol.pas(819,15) Warning: An inherited method is hidden by "TStrList.Init"
kol.pas(11057,3) Warning: Some fields coming after "aSetBkColor" weren't initial
ized
kol.pas(11106,3) Warning: Some fields coming after "aSetBkColor" weren't initial
ized
kol.pas(11256,3) Warning: Some fields coming after "aSetBkColor" weren't initial
ized
kol.pas(11469,3) Warning: Some fields coming after "fCustom" weren't initialized

kol.pas(11479,3) Warning: Some fields coming after "fCustom" weren't initialized

kol.pas(12505,10) Warning: Mixing signed expressions and longwords gives a 64bit
result
kol.pas(12507,14) Warning: Mixing signed expressions and longwords gives a 64bit
result
kol.pas(21423,10) Error: overloaded functions have the same parameter list
kol.pas(21434,10) Error: overloaded functions have the same parameter list
kol.pas(22219,51) Error: Incompatible type for arg no. 2: Got "FILETIME", expect
ed "LPFILETIME"
kol.pas(22225,51) Error: Incompatible type for arg no. 2: Got "FILETIME", expect
ed "LPFILETIME"
kol.pas(22231,51) Error: Incompatible type for arg no. 2: Got "FILETIME", expect
ed "LPFILETIME"
kol.pas(22852,9) Error: Can't assign values to const variable
kol.pas(22854,16) Error: Can't assign values to const variable
kol.pas(22860,33) Warning: Mixing signed expressions and longwords gives a 64bit
result
kol.pas(22927,28) Fatal: Syntax error, ";" expected but "(" found
kol.pas(22927,28) Fatal: Compilation aborted
Error: C:\lazarus\fpc\2.0.4\bin\i386-win32\ppc386.exe returned an error exitcode
(normal if you did not specify a source file to be compiled)
LAutour
новенький
Сообщения: 34
Зарегистрирован: 13.06.2006 10:30:34
Контактная информация:

Сообщение LAutour »

У меня 2.58 компилит (через оболочку FP, совместимость с делфи и интел-ассемблером, объекты в классы не переводил)
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

А можно подробнее?
Я делал так как написано в статье, а как надо?
FPC 2.0.4?
Пожалуйста по шагам.
LAutour
новенький
Сообщения: 34
Зарегистрирован: 13.06.2006 10:30:34
Контактная информация:

Сообщение LAutour »

Если без оптимизаций, то оригинальный KOL.pas компилил так:

c:\Prog\FPC\2.0.4\bin\i386-win32>fpc c:\prog\kol\kol.pas -Rintel -Sd -Sg -FuC:\Prog\KOL\ppDelphi
Free Pascal Compiler version 2.0.4 [2006/08/21] for i386
Copyright (c) 1993-2006 by Florian Klaempfl
Target OS: Win32 for i386
Compiling c:\prog\kol\kol.pas
kol.pas(427,12) Warning: Virtual methods are used without a constructor in "_TObj"
kol.pas(620,5) Warning: Destructor should be public
kol.pas(773,5) Warning: Destructor should be public
kol.pas(937,5) Warning: Destructor should be public
kol.pas(1204,5) Warning: Destructor should be public
kol.pas(2161,5) Warning: Destructor should be public
kol.pas(2675,5) Warning: Destructor should be public
kol.pas(2981,5) Warning: Destructor should be public
kol.pas(9437,5) Warning: Destructor should be public
kol.pas(9540,5) Warning: Destructor should be public
kol.pas(10941,5) Warning: Destructor should be public
kol.pas(12031,3) Warning: Some fields coming after "aSetBkColor" weren't initialized
kol.pas(12080,3) Warning: Some fields coming after "aSetBkColor" weren't initialized
kol.pas(12230,3) Warning: Some fields coming after "aSetBkColor" weren't initialized
kol.pas(12443,3) Warning: Some fields coming after "fCustom" weren't initialized
kol.pas(12453,3) Warning: Some fields coming after "fCustom" weren't initialized
kol.pas(14230,21) Warning: No size specified and unable to determine the size of the operands, using DWORD as default
kol.pas(14246,19) Warning: No size specified and unable to determine the size of the operands, using DWORD as default
kol.pas(21822,33) Warning: Mixing signed expressions and longwords gives a 64bit result
kol.pas(36107,60) Warning: Mixing signed expressions and longwords gives a 64bit result
kol.pas(36110,60) Warning: Mixing signed expressions and longwords gives a 64bit result
kol.pas(37958,54) Warning: range check error while evaluating constants
kol.pas(44649,28) Warning: Mixing signed expressions and longwords gives a 64bit result
kol.pas(44648,44) Warning: Conversion between ordinals and pointers is not portable
kol.pas(45711,63) Warning: Mixing signed expressions and longwords gives a 64bit result
kol.pas(46067,9) Note: Local variable "ClientAfter" is assigned but never used
55395 Lines compiled, 6.4 sec
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

Обалдеть! У меня тоже получилось!
Граждане администраторы, обновите статью - не нужно конвертировать файл kol.pas (по крайней мере v 2.58)
После конвертации kol.pas не компилируется.
Нужно просто добавить файлы из архива ppDelphi.
Спасибо LAutour
LAutour
новенький
Сообщения: 34
Зарегистрирован: 13.06.2006 10:30:34
Контактная информация:

Сообщение LAutour »

Главное изменение все-таки не в KOL, а в FreePascal. Версия 2.0.4 в отличии от предыдущих стала нормально компилить object, поэтому конвертация их в class уже не нужна. Хотя до полной работоспособной компиляции delpi-kol программ - еще пока не очень.

Кстати компиляция Kol.pas из под оболочки FP то проходит, то фатал оболочки дает.
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

Неприятность еще в том, что некоторые файлы из архива ppDelphi заменяют родные файлы FPC Windows.pas, Messages.pas
А это приводит к проблемам при компиляции приложений.
Поэтому, наверное надо адаптировать kol.pas так, что бы использовались родные для FPC модули.
KOL привлекает меня не столько малым размером кода, сколько огромным количеством хороших компонентов, которые можно использовать с FPC.
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

Сам сказал и сам же сделал - порядка 10 не сложных изменений в файле kol.pas (v 2.58) привели к тому, что для компиляции не требуются файлы из архива ppDelphi.
Lazarus и KOL теперь дружат, можно использовать одновременно компоненты Lazarus и KOL без дележа windows.pas и messages.pas.
Кому нужен kol.pas для FPC могу куда-нибудь выложить или выслать.
Возможно, что в будущих версия FPC, его библиотеки будут более совместимыми с дельфийскими и изменения не потребуются вообще.
LAutour
новенький
Сообщения: 34
Зарегистрирован: 13.06.2006 10:30:34
Контактная информация:

Сообщение LAutour »

Советую глянуть сюда:
http://www.delphimaster.ru/cgi-bin/foru ... 17771&n=10

Да и по адаптации KOL в FPC тоже лучше туда (к автору KOL):
http://www.delphimaster.ru/cgi-bin/forum.pl?n=10
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

Первую ссылку видел, но FPC 2.2 когда официально выйдет? Может еще будут изменения, в общем из бета-версии Lazarus не хочется эксплуатировать другую бету, которую еще из SVN не собрали, а текущими средствами предлагаемый KOL не компилируется.

Я думаю, что стоит просто подождать официального выхода FPC 2.2, но изучать и пробовать можно уже и сейчас.
Pisklov_A
новенький
Сообщения: 26
Зарегистрирован: 20.10.2006 16:09:08

Сообщение Pisklov_A »

//порядка 10 не сложных изменений в файле kol.pas (v 2.58) привели к тому, что для компиляции не требуются файлы из архива ppDelphi.


Если вам не сложно, прошу вас выслать мне файлы kol.pas с вашей модификацией и без неё.... sunsell (at) mail.ru
Вадим
новенький
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Вадим »

Отправил
Ответить