Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conditional compilation issues #3

Closed
Alekcvp opened this issue Jun 15, 2017 · 13 comments
Closed

Conditional compilation issues #3

Alekcvp opened this issue Jun 15, 2017 · 13 comments

Comments

@Alekcvp
Copy link

Alekcvp commented Jun 15, 2017

There are issues with conditional defines in source files, leading to the strange things after the compilation:

For ex:
uiblib.pas(128): {$IFDEF FB21_UP}
uiblib.pas(144): {$IFNDEF FB_21UP}

@the-Arioch
Copy link
Owner

what exactly "unusable" mean ?

what is FB version and testcase ?

@Alekcvp
Copy link
Author

Alekcvp commented Jun 23, 2017

Answered in #2.

@the-Arioch
Copy link
Owner

Line 128 is about charsets, not transactions.

Perhaps FB 2.1 added special requirements about those options, that woked in FB 2.0 and before

  isc_tpb_shared,
  isc_tpb_protected,
  isc_tpb_exclusive,

@Alekcvp
Copy link
Author

Alekcvp commented Jun 23, 2017

Line 128 is about charsets, not transactions.

I mean: compare the defines! FB21_UP & FB_21UP. 2nd variable is never defined anywhere and is just a typo. And this is not the full list of wrong directives.

@the-Arioch
Copy link
Owner

Line 128 was modified 2008-11-07 11:43 as a15fc97 with comments "unicode dataset" and "Delphi 2009"

should not be an issue

@the-Arioch
Copy link
Owner

the-Arioch commented Jun 23, 2017

ah, perhaps a typo indeed, thanks for spotting

@the-Arioch
Copy link
Owner

Line 144 is changed as 7d02967
on 2010-02-15 13:00
with comment "fix lockimeout"

i wonder...

@Alekcvp
Copy link
Author

Alekcvp commented Jun 23, 2017

same fix, again:

+    {$IFNDEF **FB_21UP**}
 +      isc_tpb_shared,
 +      isc_tpb_protected,
 +      isc_tpb_exclusive,
 +    {$ENDIF}

@the-Arioch
Copy link
Owner

C:\Delphi\Libs\uib_git\source\uibase.pas [1]
C:\Delphi\Libs\uib_git\source\uibase.pas(1551): {$IFNDEF FB_21UP}
C:\Delphi\Libs\uib_git\source\uiblib.pas [2]
C:\Delphi\Libs\uib_git\source\uiblib.pas(144): {$IFNDEF FB_21UP}
C:\Delphi\Libs\uib_git\source\uiblib.pas(1779): {$IFNDEF FB_21UP}

Quick fix would be to fix those names, but then those options would be no more available if you compie against FB newer than 2.0

i would have to check into changes and API, to see if i can re-enable them without some weird side-effects

this topic is completely new to me

the-Arioch pushed a commit that referenced this issue Jun 23, 2017
@Alekcvp
Copy link
Author

Alekcvp commented Jun 23, 2017

but then those options would be no more available if you compie against FB newer than 2.0

They do not work with it anyway (in the current way).

@the-Arioch
Copy link
Owner

@Alekcvp
Copy link
Author

Alekcvp commented Jun 23, 2017

Оттуда:

Там выходит что блокировки на таблицы ставятся в самый конец, уже после флагов
isc_tpb_nowait/isc_tpb_wait и isc_tpb_ignore_limbo, isc_tpb_autocommit, isc_tpb_no_auto_undo. А надо объявлять isc_tpb_lock_write и isc_tpb_protected до этих флагов ну и до wait/nowait

@the-Arioch
Copy link
Owner

Это обрывки, Когда будет время надо полноценно API Guide прочитать будет на эту тему

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants