KOL

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

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

KOL

Сообщение affer » 02.07.2006 04:08:11

Проблема при компиляции 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 » 02.07.2006 15:27:13

Конвертировал 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)
affer
незнакомец
 
Сообщения: 2
Зарегистрирован: 02.07.2006 04:04:13

Сообщение mr.denton » 03.07.2006 01:10:03

кинь в папку с Kol.pas все модули из архива ppDelphi.zip. Должно помочь.
Аватара пользователя
mr.denton
новенький
 
Сообщения: 23
Зарегистрирован: 30.04.2006 03:23:07

Сообщение Вадим » 22.04.2007 08:58:33

Помогите, скомпилировать 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)
Вадим
новенький
 
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение LAutour » 23.04.2007 11:07:01

У меня 2.58 компилит (через оболочку FP, совместимость с делфи и интел-ассемблером, объекты в классы не переводил)
LAutour
новенький
 
Сообщения: 34
Зарегистрирован: 13.06.2006 10:30:34

Сообщение Вадим » 23.04.2007 11:15:40

А можно подробнее?
Я делал так как написано в статье, а как надо?
FPC 2.0.4?
Пожалуйста по шагам.
Вадим
новенький
 
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение LAutour » 24.04.2007 06:31:34

Если без оптимизаций, то оригинальный 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
LAutour
новенький
 
Сообщения: 34
Зарегистрирован: 13.06.2006 10:30:34

Сообщение Вадим » 24.04.2007 09:38:13

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

Сообщение LAutour » 24.04.2007 10:14:01

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

Кстати компиляция Kol.pas из под оболочки FP то проходит, то фатал оболочки дает.
LAutour
новенький
 
Сообщения: 34
Зарегистрирован: 13.06.2006 10:30:34

Сообщение Вадим » 24.04.2007 21:50:41

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

Сообщение Вадим » 25.04.2007 09:52:39

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

Сообщение LAutour » 25.04.2007 10:13:22

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

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

Сообщение Вадим » 25.04.2007 11:08:05

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

Я думаю, что стоит просто подождать официального выхода FPC 2.2, но изучать и пробовать можно уже и сейчас.
Вадим
новенький
 
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

Сообщение Pisklov_A » 18.05.2007 11:37:11

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


Если вам не сложно, прошу вас выслать мне файлы kol.pas с вашей модификацией и без неё.... sunsell (at) mail.ru
Pisklov_A
новенький
 
Сообщения: 26
Зарегистрирован: 20.10.2006 16:09:08

Сообщение Вадим » 18.05.2007 19:50:54

Отправил
Вадим
новенький
 
Сообщения: 24
Зарегистрирован: 15.04.2007 12:12:26
Откуда: город-герой Волгоград

След.

Вернуться в Сторонние средства

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

Рейтинг@Mail.ru