Proposed update to Cloop

32 views
Skip to first unread message

Tony Whyman

unread,
Jun 3, 2024, 11:57:02 AMJun 3
to firebir...@googlegroups.com
I have proposed an update to the Pascal Generator for cloop. The "pull
request" may be found at

https://github.com/asfernandes/cloop/pull/9

The full details and justification for this request may be found with
the github pull request. However, the underlying reason is that the next
version of the Free Pascal Compiler is expected to change the object
instance layout and hence break the Pascal interface to the Firebird
Client Library. The proposed change is, I believe, the minimum necessary
to ensure that the interface keeps working in the future and minimises
change to user code.

The proposed change works with the current version of Free Pascal
(3.2.2) and Delphi and is intended to work with Free Pascal 3.3.1
(development version) and later. It is intended to generate a
replacement Firebird.pas for all versions of Firebird.

It has been tested with IBX and the result is included the recently
released version of IBX for Lazarus

Tony Whyman
MWA

Vlad Khorsun

unread,
Jun 7, 2024, 6:10:29 AMJun 7
to firebir...@googlegroups.com
03.06.2024 18:56, Tony Whyman:
> I have proposed an update to the Pascal Generator for cloop. The "pull request" may be found at
>
> https://github.com/asfernandes/cloop/pull/9

Please, create PR in Firebird repository:

https://github.com/FirebirdSQL/firebird

the CLOOP code is there

https://github.com/FirebirdSQL/firebird/tree/master/extern/cloop

> The full details and justification for this request may be found with the github pull request. However, the underlying reason is
> that the next version of the Free Pascal Compiler is expected to change the object instance layout and hence break the Pascal
> interface to the Firebird Client Library. The proposed change is, I believe, the minimum necessary to ensure that the interface
> keeps working in the future and minimises change to user code.
>
> The proposed change works with the current version of Free Pascal (3.2.2) and Delphi and is intended to work with Free Pascal 3.3.1
> (development version) and later. It is intended to generate a replacement Firebird.pas for all versions of Firebird.
>
> It has been tested with IBX and the result is included the recently released version of IBX for Lazarus

Sounds good. Could you also show newly generated firebird.pas ?
Changes for user code could be demonstrated using some sample at
examples\object_pascal.

Then, I think, we should accept the PR (when code style will be fixed,
but don't worry about it, I'll help) if you going to support it.

Thanks!
Vlad

PS perhaps, it's time to move CLOOP from 'extern' into 'src'
Reply all
Reply to author
Forward
0 new messages