Jump to content
Syntri

IDE Fix pack for Rio

Recommended Posts

On 2/21/2019 at 11:42 PM, jbg said:

And another development snapshot is available.

 

This time the functions in StyleUtils.inc (Vcl.Styles) got optimized what makes the UI rendering faster

Do these changes only affect the IDE or also applications compiled inside the IDE?

Does fastdcc also include these patches and makes Vcl styled applications compiled on the command line render faster?

Share this post


Link to post
2 hours ago, luebbe said:

Do these changes only affect the IDE or also applications compiled inside the IDE?

Does fastdcc also include these patches and makes Vcl styled applications compiled on the command line render faster?

Simple answer NO. The IDE Fix pack fixes only the IDE

  • Like 1
  • Thanks 1

Share this post


Link to post
3 hours ago, Fritzew said:

Simple answer NO. The IDE Fix pack fixes only the IDE

Probably it is not so simple:

Quote

fastdcc applies the Compiler Speed Pack that is included in IDE Fix Pack on the command line compiler dcc32, dcc64 and dccaarm (XE6 and newer).

So depending on whether the optimization is part of the Compiler Speed Pack it might as well be incorporated into a Delphi compiled EXE.

Share this post


Link to post
5 minutes ago, Uwe Raabe said:

Probably it is not so simple:

So depending on whether the optimization is part of the Compiler Speed Pack it might as well be incorporated into a Delphi compiled EXE.

Quote

From the Homepage: None of your projects are modified or benefit from the IDE Fix Pack other than being compiled faster. Only the IDE gets the fixes and optimizations.

For me this is a clear statement😀

Share this post


Link to post

And those are exactly the two positions between which I'm torn. 🙂

Share this post


Link to post
23 minutes ago, luebbe said:

And those are exactly the two positions between which I'm torn.

To be fair, you actually posted two questions. Where the first one has that simple answer, the second one is somewhat difficult to target for us.

Share this post


Link to post

Two questions, right. I recon that @Fritzew is correct and that the vcl changes only affect the IDE itself and not fastdcc.

Share this post


Link to post
22 hours ago, luebbe said:

Do these changes only affect the IDE or also applications compiled inside the IDE?

Does fastdcc also include these patches and makes Vcl styled applications compiled on the command line render faster?

  • Added: -x-fpr generates 3 times faster stack memory page probing code (RSP-19826)
  • Added: Options -x-O1, -x-O2, -x-O3, -x-Ox that enable other optimization options

 

More info.... Hope these optimizations would come to Delphi compiler directly.

 

https://andy.jgknet.de/blog/2017/10/ide-fix-pack-6-1-released/

https://andy.jgknet.de/blog/2018/06/ide-fix-pack-6-3-released/

Edited by Tommi Prami
  • Thanks 1

Share this post


Link to post

@jbg I've an issue while using the latest IDE Fixpack version.

It seems there is an incompatibility with TMS Aurelius: I'm getting EInvalidPointer exception after validating the TAureliusDataset "Load field definition" dialog box.

The error disappears after removing IDE FixPack 

 
Here is a call stack
 
date/time          : 2019-03-09, 11:41:04, 5ms
operating system   : Windows 10 x64 build 17763
system language    : English
system up time     : 1 hour 57 minutes
program up time    : 47 seconds
processors         : 4x Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz
physical memory    : 2698/6143 MB (free/total)
free disk space    : (C:) 12,31 GB
display mode       : 1920x1080, 32 bit
process id         : $d1c
allocated memory   : 340,85 MB
largest free block : 1,98 GB
command line       : "C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\bds.exe" -pDelphi
executable         : bds.exe
current module     : madExcept_.bpl
exec. date/time    : 2019-02-04 15:55
version            : 26.0.33219.4899
compiled with      : Delphi 10.3 Rio
madExcept version  : 5.0.0
callstack crc      : $cc11aee6, $91e5296b, $e7ad32b4
exception number   : 1
exception class    : EInvalidPointer
exception message  : Invalid pointer operation.
 
main thread ($22d0):
5005f7f5 +011 rtl260.bpl         System       17404  +3 TObject.FreeInstance
5005f8e8 +008 rtl260.bpl         System       17466  +1 TObject.Free
51110f2b +02b vclx260.bpl        Vcl.CheckLst   248  +3 TCheckListBox.Destroy
50d06eee +0d6 vcl260.bpl         Vcl.Controls  8600 +25 TWinControl.Destroy
50d6b0b0 +038 vcl260.bpl         Vcl.ComCtrls  6235  +6 TTabSheet.Destroy
50d06eee +0d6 vcl260.bpl         Vcl.Controls  8600 +25 TWinControl.Destroy
50d6a021 +085 vcl260.bpl         Vcl.ComCtrls  5687  +5 TCustomTabControl.Destroy
50d6b750 +048 vcl260.bpl         Vcl.ComCtrls  6469  +3 TPageControl.Destroy
50d06eee +0d6 vcl260.bpl         Vcl.Controls  8600 +25 TWinControl.Destroy
50e52437 +04b vcl260.bpl         Vcl.Forms     3122  +3 TScrollingWinControl.Destroy
50e537d0 +11c vcl260.bpl         Vcl.Forms     3808 +32 TCustomForm.Destroy
23e0aaee +02e dclaurelius260.bpl Aurelius               Design.Datasetdesigner.TfmFieldLoader.Destroy
5005f8e8 +008 rtl260.bpl         System       17466  +1 TObject.Free
23e0ac3b +057 dclaurelius260.bpl Aurelius               Design.Datasetdesigner.TfmFieldLoader.Execute
23e0db13 +033 dclaurelius260.bpl Aurelius               Design.Dataseteditor.TAureliusDataSetEditor.ExecuteVerb
5283f00a +04e vcldesigner260.bpl VCLSurface    2918  +3 TVclDesignSurface.ComponentVerb
50e41dba +0aa vcl260.bpl         Vcl.Menus     2561 +19 TMenuItem.Click
50e434e3 +013 vcl260.bpl         Vcl.Menus     3505  +5 TMenu.DispatchCommand
50e4476e +082 vcl260.bpl         Vcl.Menus     4678  +4 TPopupList.WndProc
50e446bd +01d vcl260.bpl         Vcl.Menus     4653  +2 TPopupList.MainWndProc
753161ab +00b user32.dll                                DispatchMessageW
50e5e877 +0f3 vcl260.bpl         Vcl.Forms    10724 +23 TApplication.ProcessMessage
50e5e8ba +00a vcl260.bpl         Vcl.Forms    10754  +1 TApplication.HandleMessage
50e5ebed +0c9 vcl260.bpl         Vcl.Forms    10892 +26 TApplication.Run
00518002 +06a bds.exe            bds            214  +7 initialization
754a0177 +017 KERNEL32.DLL                              BaseThreadInitThunk

Share this post


Link to post
44 minutes ago, Stéphane Wierzbicki said:

@jbg I've an issue while using the latest IDE Fixpack version.

It seems there is an incompatibility with TMS Aurelius: I'm getting EInvalidPointer exception after validating the TAureliusDataset "Load field definition" dialog box.

The newest development snapshot should fix this bug.

http://andy.jgknet.de/fixpack/dev

  • Like 3
  • Thanks 1

Share this post


Link to post
4 hours ago, jbg said:

The newest development snapshot should fix this bug.

http://andy.jgknet.de/fixpack/dev

 

Sadly, it still does not with other database-related component wizards from TMS. Would a stacktrace help even if it is vendor-specific?

 

It's not related to IDEFixPack. Must be another plugin.

Edited by Holger Flick

Share this post


Link to post
On 3/14/2019 at 4:06 AM, jbg said:

The newest development snapshot should fix this bug.

http://andy.jgknet.de/fixpack/dev

IDEFixPack will cause Delphi settings error, follow the steps below
1.New a EXE project,Project-Options-Compiler-Save Options
2.New a DLL project in same project group (MUST), Project-Options-Compiler-Apply Options select the options 1 saved and select modify this config
3.DLL will compile to EXE ext instead of DLL ext

 

If no IDEFixPack installed, 3 DLL will compiled to DLL ext

Share this post


Link to post
9 hours ago, advwang said:

IDEFixPack will cause Delphi settings error, follow the steps below
1.New a EXE project,Project-Options-Compiler-Save Options
2.New a DLL project in same project group (MUST), Project-Options-Compiler-Apply Options select the options 1 saved and select modify this config
3.DLL will compile to EXE ext instead of DLL ext

I can't reproduce this. Can you attach a demo project(group) that I can open and test?

Share this post


Link to post
16 hours ago, jbg said:

I can't reproduce this. Can you attach a demo project(group) that I can open and test?

1.Build project2.dll, a dll file will created, ok

2.apply options with testoptions.optionset. can set teststep.png.

3.Build project2.dll, binary file become exe

IDEFix.rar

Share this post


Link to post
6 hours ago, advwang said:

testoptions.optionset

You didn't actually expect that feature to work did you?

RSP-17558 but there could be many more reports if anything where ever done about them. Comes down to managing option sets with Notepad else don't be surprised when things go FUBAR.

Share this post


Link to post
11 hours ago, advwang said:

1.Build project2.dll, a dll file will created, ok

2.apply options with testoptions.optionset. can set teststep.png.

3.Build project2.dll, binary file become exe

IDEFix.rar

I still can't reproduce this bug. I always get a DLL file.

  1. Open ProjectGroup1.groupproj
  2. Right click on Project2.dll in the ProjectManager and select "Build" to build the project
  3. Verify that the Project2.dll was created in Windows Explorer
  4. Right click on Project2.dll in the ProjectManager and select "Options..."
  5. Navigate to "Building/Delphi Compiler"
  6. Click on the "Apply..." button
  7. Click on the "..." button and open the testoptions.optset file
  8. Click on "Modify this configuration (and let the "Replace all values" in the combobox untouched)
  9. Close both dialogs with "OK" and "Save"
  10. Right click on Project2.dll in the ProjectManager and select "Build" to build the project
  11. The Project2.dll was rebuilt (but no Project2.exe was created)

Share this post


Link to post
5 hours ago, jbg said:

I still can't reproduce this bug. I always get a DLL file.

  1. Open ProjectGroup1.groupproj
  2. Right click on Project2.dll in the ProjectManager and select "Build" to build the project
  3. Verify that the Project2.dll was created in Windows Explorer
  4. Right click on Project2.dll in the ProjectManager and select "Options..."
  5. Navigate to "Building/Delphi Compiler"
  6. Click on the "Apply..." button
  7. Click on the "..." button and open the testoptions.optset file
  8. Click on "Modify this configuration (and let the "Replace all values" in the combobox untouched)
  9. Close both dialogs with "OK" and "Save"
  10. Right click on Project2.dll in the ProjectManager and select "Build" to build the project
  11. The Project2.dll was rebuilt (but no Project2.exe was created)

After 5,select All targe, try it, thanks of your answer.

Share this post


Link to post
10 hours ago, FredS said:

You didn't actually expect that feature to work did you?

RSP-17558 but there could be many more reports if anything where ever done about them. Comes down to managing option sets with Notepad else don't be surprised when things go FUBAR.

Thanks, I have uninstall IDEFixPack, and dll created correctly. So I think it might be related to IDEFixPack, but I am not quite sure.

Share this post


Link to post
21 hours ago, advwang said:

After 5,select All targe, try it, thanks of your answer.

That did the trick. Now I can reproduce this. "Unfortunately" this is not an IDE Fix Pack bug as I can also reproduce it without IDE Fix Pack installed.

  • Like 1

Share this post


Link to post
6 hours ago, jbg said:

That did the trick. Now I can reproduce this. "Unfortunately" this is not an IDE Fix Pack bug as I can also reproduce it without IDE Fix Pack installed.

Oh, how can I reproduce this problem without installing IDEFixPack? Thanks

Share this post


Link to post
7 hours ago, jbg said:

That did the trick. Now I can reproduce this. "Unfortunately" this is not an IDE Fix Pack bug as I can also reproduce it without IDE Fix Pack installed.

In addition, can IDEFixPack do this? Change the 32-bit Delphi compiler default floating point format, now Extended, inefficient and not suitable for SSE instructions, can it be modified into Double? The 64-bit Delphi compiler default floating point format is Double.

Share this post


Link to post
2 hours ago, advwang said:

Oh, how can I reproduce this problem without installing IDEFixPack? Thanks

Repeat my steps and "After 5,select All targets"

Share this post


Link to post
2 hours ago, advwang said:

In addition, can IDEFixPack do this? Change the 32-bit Delphi compiler default floating point format, now Extended, inefficient and not suitable for SSE instructions, can it be modified into Double? The 64-bit Delphi compiler default floating point format is Double.

No, IDE Fix Pack can't do that. You can ask that Embarcadero.

Edited by jbg
  • Like 1

Share this post


Link to post
14 minutes ago, jbg said:

No, IDE Fix Pack can't do that. You can ask that Embarcadero.

Ok, thank you for your reply.

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

×