Jump to content
Sign in to follow this  
dummzeuch

GExperts 1.3.20 experimental twm 2022-01-30 released

Recommended Posts

The new GExperts version still supports all Delphi versions back to Delphi 6 (with the notable exception of Delphi 😎 and even the Delphi 11 version is no longer in Alpha state (but it’s still beta, there will be glitches!). Support for per monitor DPI awareness should now work (in Delphi 11, and definitely better than in the IDE itself).

There are even a few new features ...

 

Read on in the blog post.

  • Like 4
  • Thanks 6

Share this post


Link to post

Hi Thomas,

Thank you once again for all your work on and support for GExperts.

Greatly appreciated.

Ian

  • Like 1

Share this post


Link to post

This version works as expected (i have found no error during work so far)

 

However when i quit Delphi i get a lot of access violations when GExperts shuts down:

 

GExperts error destroying expert 1 - GrepMenuEntry: Zugriffsverletzung bei Adresse 50171CD8 in Modul 'rtl280.bpl'. Lesen von Adresse 1FB444A0
GExperts error destroying expert 3 - ExpertManager: Zugriffsverletzung bei Adresse 50171CD8 in Modul 'rtl280.bpl'. Lesen von Adresse 1FB444A0
GExperts error destroying expert 4 - TAddDockWindowExpert: Zugriffsverletzung bei Adresse 50171CD8 in Modul 'rtl280.bpl'. Lesen von Adresse 1FB444A0

[... and so on ...]

In that case i terminate Delphi using the task manager.

 

Please let me know if i can provide additional info (are there logfiles?)

Share this post


Link to post

How to find in DFM caption like that "Đ‘ŃƒĐ»ŃŃ‚Đ°Ń‚" ?

DFM is text but text is Caption = #1041#1091#1083#1089#1090#1072#1090

Thanks

Share this post


Link to post

You should construct a search string. Something like this. I believe that Delphi is only coded between 32 and 127 stores as string.
 

procedure TForm1.FormCreate(Sender: TObject);
var
  x: string;
  i: integer;
  s: string;
begin
  x:='1Đ‘ŃƒĐ»ŃŃ‚Đ°Ń‚';
  s:='Caption = ';
  i:=1;
  while i<=length(x) do
  begin
    if (ord(x[i])>=32) and (ord(x[i])<=127) then
    begin
      s:=s+'''';
      while (i<=length(x)) and (ord(x[i])>=32) and (ord(x[i])<=127) do
      begin
        s:=s+x[i];
        inc(i);
      end;
      s:=s+'''';
    end
    else
    begin
      s:=s+'#'+IntToStr(ord(x[i]));
      inc(i);
    end;
  end;
  edit1.Text:=s;

end;

 

Share this post


Link to post

I thought GExpert could handle that. We have our find / replace utility

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×