Skip to content

changes to fix Lazarus and FreePascal compilation issues. - #413

Merged
pyscripter merged 3 commits into
lmbelo:masterfrom
norayr:lazarus_fixes
Jun 16, 2023
Merged

changes to fix Lazarus and FreePascal compilation issues.#413
pyscripter merged 3 commits into
lmbelo:masterfrom
norayr:lazarus_fixes

Conversation

@norayr

Copy link
Copy Markdown
Contributor

No description provided.

@norayr

Copy link
Copy Markdown
ContributorAuthor

current git release wasn't compiling under Lazarus/fpc, so here is the fix.

@norayr

Copy link
Copy Markdown
ContributorAuthor

2023-03-13-lazarus-python4delphi
2023-03-13-lazarus-python4delphi_

@norayr

Copy link
Copy Markdown
ContributorAuthor

now it builds, i guess you did not test it with fpc for a long time, and it did not build without the fixes in this commit.

i hope i did everything right. feel free to edit my code.

@pyscripter

Copy link
Copy Markdown
Collaborator

I see the issue. I just suggested some simplifications.

@norayr

Copy link
Copy Markdown
ContributorAuthor

I see the issue. I just suggested some simplifications.

Yes, please suggest. Or you can apply the pull request and then apply your own improvements.

@norayr

Copy link
Copy Markdown
ContributorAuthor

I see the issue. I just suggested some simplifications.

maybe I did not notice, where did you suggest some changes?

@norayr

Copy link
Copy Markdown
ContributorAuthor

i guess you were doing code review and forgot to press 'submit review' button.

Comment threadSource/PythonEngine.pas Outdated
NewSize := Utf8ToUnicode(PUnicodeChar(Result), Cardinal(Size + 1), Buffer, Cardinal(Size));
{$ELSE}
NewSize := Utf8ToUnicode(PChar(Result), Cardinal(Size + 1), Buffer, Cardinal(Size));
{$ENDIF}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NewSize := Utf8ToUnicode(PWideChar(Result), Cardinal(Size + 1), Buffer, Cardinal(Size));

Would work both in Delphi and Fpc.
PUnicodeChar is an alias to PWideChar;

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

true!

Comment threadSource/WrapDelphiClasses.pas Outdated
{$ENDIF}
{$IFDEF FPC}
DelphiObject := TResourceStreamClass(DelphiObjectClass).Create(LHandle, String(LResName), PChar(String(LResType)))
{$ELSE}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DelphiObject := TResourceStreamClass(DelphiObjectClass).Create(LHandle, String(LResName), PChar(String(LResType)))

Should work in both fpc and Delphi.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment threadSource/WrapDelphiClasses.pas Outdated
{$ENDIF}
{$IFDEF FPC}
DelphiObject := TResourceStreamClass(DelphiObjectClass).CreateFromID(LHandle, LResId, PChar(String(LResType)));
{$ELSE}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment threadSource/WrapDelphi.pas Outdated
PyType: PPyTypeObject;
{$IFDEF FPC}
i: longint;
{$ENDIF}

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i: Integer
should be in the {$ELSE} part of the the IFDEF below.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe I addressed all the comments.

Thank you for those. You can take a look at another commit.

@pyscripterpyscripterMar 21, 2023

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I meant in the ELSE part of EXTENDED_RTTI! You don't need IFDEF FPC. And use Integer instead of longint.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh, now I see.

Thank you for comments and your patience.

Now I did it, but PR contains 3 commits.

Do you want me to figure the way to change it for 1 commit?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so, do you like the current state of it?
would you merge? or should i change something else?

@pyscripter

Copy link
Copy Markdown
Collaborator

i guess you were doing code review and forgot to press 'submit review' button.

Indeed.

@norayr

Copy link
Copy Markdown
ContributorAuthor

hey, sorry for pinging you again.

but would you like to merge it? or did you solve it yourself already?

@pyscripter

Copy link
Copy Markdown
Collaborator

Sorry for the delay. Very busy right now. I will deal with PR in a couple of weeks.

@pyscripter
pyscripter merged commit 65ef97c into lmbelo:masterJun 16, 2023
pyscripter added a commit that referenced this pull request Jun 16, 2023
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@norayr@pyscripter