Главная страница
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.036 c
11-1159283354
Моторокер
2006-09-26 19:09
2007.05.13
Button.Default vs. Cancel


4-1166206583
BUHALOSS
2006-12-15 21:16
2007.05.13
Отловить сообщения от мышки


15-1176384751
botvin
2007-04-12 17:32
2007.05.13
Менеджер памяти


3-1172053803
совсем чайник
2007-02-21 13:30
2007.05.13
BLOB и параметрический запрос


15-1176581986
GreM
2007-04-15 00:19
2007.05.13
Вопрос по XML