Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.13;
Скачать: CL | DM;

Вниз

KOL(KOLIBEvents)+FreePascal   Найти похожие ветки 

 
ZiTrAX   (2006-09-23 19:17) [0]

Может это не совсем в ту ветку форума, но на ветке FreePascal что-то давно никого не было.
Короче, вопрос такой:
Как в FreePascal (v 2.0.4) скомпилировать модуль KOLIBEvents? А то FP при компиляции выдаёт такую ошибку:
                   ...
 KOLIBEvents.pas(123,35) Error: Wrong symbol type
 KOLIBEvents.pas(221) Fatal: There where 1 errors compiling module, stopping
 KOLIBEvents.pas(7,33) Fatal: Compilation aborted
                   ...

Указывает на строку в asm-коде (sub     eax,fResultBuffer-fEventBuffer), а я в ассемблере плоховато разбираюсь.


 
Vladimir Kladov   (2006-09-23 20:05) [1]

если включены все опции совместимости и не помогло, тогда стало быть не понимает вычитание в позиции операнда. Может помочь такое исправление: до asm декларируется константа
const razn = fResultBuffer-fEventBuffer;

и подставляется вместо разности. А вообще там что, нет только паскаль-версии кода разве? (Я еще не заглядывал внутрь пакета).


 
ZiTrAX   (2006-09-23 20:32) [2]

Вот полный текст этой процедуры:
procedure TIBEventsHandler.AllocateBuffers;
var
 i,iMax: Integer;
 NS: Array[0..14] of PChar;
begin
 iMax := 15;
 if fParams.Count < iMax then iMax := fParams.Count;
 for i:=0 to iMax-1 do NS[iMax-i-1] := fParams.ItemPtrs[i];
 fEventCount := iMax;
 asm
       push    ebx
       mov     ebx,iMax
       mov     ecx,ebx
       lea     eax,NS
@@1:
       mov     edx,[eax]
       push    edx
       add     eax,4
       loop    @@1
       push    ebx
       mov     eax,Self
       mov     ecx,eax
       add     eax,fResultBuffer
       push    eax
       sub     eax,fResultBuffer-fEventBuffer
       push    eax
       mov     eax,ecx
       mov     eax,[eax+fClientLib]
       push    eax
       call    TIBClientLib.isc_event_block
       add     esp,$0c
       shl     ebx,2
       add     esp,ebx
       mov     edx,Self
       mov     [edx+fBufferLen],ax
       pop     ebx
 end;
end;

С объявлением константы ничего не проходит (выдаёт на строке объявления KOLIBEvents.pas(101,36) Error: Illegal expression .
А компилятор вызывается c такими параметрами: fpc.exe -dRELEASE -Mdelphi -Rintel -XX -CX .
Вопрос лично В. Кладову: если у меня нет лицензионной версии Delphi, имею ли я право использовать модули из архива ppDelphi.exe при написании коммерческих программ на FreePascal с использованием библиотеки KOL?


 
Vladimir Kladov   (2006-09-24 07:21) [3]

У кого она есть. Но вообще-то с FreePascal 2 эти модули уже не нужны, Тэдди несколько раз это говорил. (А я вот все еще не скачал 2й free pascal).



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

Текущий архив: 2007.05.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.049 c
15-1176581986
GreM
2007-04-15 00:19
2007.05.13
Вопрос по XML


15-1176037360
Nic (ro)
2007-04-08 17:02
2007.05.13
Siemens A50


15-1176287703
Knight
2007-04-11 14:35
2007.05.13
Чё-то какие-то заморочки пошли с VBA... сперва с Access теперь...


15-1175695826
kaif
2007-04-04 18:10
2007.05.13
Заботы президента о мироздании


15-1175676785
Layner
2007-04-04 12:53
2007.05.13
Кто пользуется альтернативными прогр. мгн. сообщений