Forum > macOS / Mac OS X

(Solve by myself) MacOSX on M1 , IME input on Chinese character

<< < (2/5) > >>

Martin_fr:

--- Quote from: powerpcer on September 11, 2022, 05:59:39 am ---when i clean up and build, it shows

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---The project's compiler options has no compile command.See Project / Compiler Options ... / Compilationwhat command do i need to add?

--- End quote ---

None, whenever you change something, you need to build via menu Tools > Build Lazarus.

Make no changes after that => the moment that F9 thinks that you changed something it will recompile individual files. But NOT recreate the executable => and then you get that error "object file.. .changed..."


If you keep getting that error, go to Tools > Configure Build Lazarus
and add to custom options:
-Xg


This will create a folder lazarus.dsym or lazarus.app.dsym.
Should you ever remove the -Xg, then you need to deleted that folder too.


Sorry it's a while since I done this on a Mac. Hence the "if" ad "try".

powerpcer:
thanks Martin,
 i found that KeyEvPrepare in cocoawscommon.pas will fire on every key press.
this catch every CJK char that i typed, but not the last.
the strange is, the IME input dialog not appear.  that different from others APPs
where can i check?

Martin_fr:
Unfortunately my expertise is the Debugger.
I am not familiar with the Mac specific LCL/widgetset code.

So someone else has to answer this.

Since the amount of Mac users/devs (compared to other OS) is lower: if no-one answers here, I suggest to post a copy on the mail list (and/or additionally open an issue report on the bug tracker, since this seems to qualify as bug).

powerpcer:
ok, thanks.

Martin_fr:
Just remembered, may be important: Add info which controls are affected.

That is either
- TEdit, TMemo, TComboBox
- TSynEdit (IDE Source editor), maybe TRichEdit
- both groups

The first are OS controls, the latter are custom controls.

---
EDIT:

I peaked at your attached project, and you are checking keystrokes in the form.
I have no idea how an IME deals with that after all there is no input element (even though the form can receive keystrokes.)

Testing on Windows, it is possible for an IME to open on a plain TForm.
However it seems to depend on some settings. The main page of the IDE's "About dialog" does not (on Win) allow to open an IME.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version