Code Monkey home page Code Monkey logo

Comments (21)

cnpack avatar cnpack commented on June 10, 2024

Thank you for your detailed suggestion and analysis.
We'll consider whether the removing action will be overwrite by IDE itself when exiting.

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

We make a nightly-build 1179 for this feature, whose switch is in Menu "CnPack" -> "IDE Enhancements Settings" -> "IDE Main Form Enhancements", "Clear Session Project in Registry when Exiting".

Please try it?
https://www.cnpack.org/downbuilds.php

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

I see, 5f5459e

Seems working fine in D2007, but can you for extra safety run it in the constructor too?

You can not use class properties to support Delphi 5 (you really do? even i dropped D5 some years ago, then JVCL followed). So i would remove FClearRegSession and the property go straight into the global var via getter/setter.

Delphi 5 even supported inline functions AFAIR. Not sure it was smart enough to use it inside the object setters. Then right after readign the properties it could run the ClearRegistrySessionProject too for double safety :-)

I just fear later IDEs could change the exit sequence, so double action would be more surviable.

I would also make some tests with XE2 and XE10.2.0 later


P.S. hmmm...

---------------------------
bds.exe - Точка входа не найдена
---------------------------
Entrypoint @$xp$34Toolsapi@IOTADebuggerVisualizer250 not found in DLL C:\Program Files (x86)\CnPack\CnWizards\CnWizards_D102T.DLL. 
---------------------------
ОК   
---------------------------

I rarely launch XE10.2.0 here so am not sure when did it broke.

Sorry, could not test in Tokyo.

In 2007 it works so my main itsch is scratched, thanks a lot.

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

P.S. a matter of taste, but i'd suggest the "intention over implementation" wording for the checkbox.

Caption = 'Do not open the last opened project when IDE is launched.'

Or maybe less smooth but hopefully more digestable for techies and with less tautology.

Caption = 'IDE startup: Do not open the last project you worked on.'

The current caption i guess would fit nicely the docs:

ShowHint = True
Hint = 'CnWizards would clear the Session\Project setting in the registry when Delphi is starting up and exiting.'

Something like that

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

Oh, seems IOTADebuggerVisualizer250 is introduced in 10.2.2, so 10.2 can't run.
We'll disable this interface usage in 10.2.x and moves to 10.3.

We'll consider the Caption text again.

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

How about "Forget Last Opened Project when IDE Launched"?

Seems the word "NOT" in caption will bring some confuse for CheckBox, should be avoid.

Your hint can be put in our Help, but not in the form for this checkbox, for other checkboxes don't have hints.

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

10.2.0 is our last legal so sadly i can not upgrade beyond it and try 10.2.2

How about "Forget

"forget" is still implementaiton details, not user's intention.

User's problem at hands it to force IDE clean after launch, without any projects open

"Forgetting" is still just the tool, a method to implement the task.
And it is plausible it would have to be changed with some newer Delphi version.

So, if we need to avoid "not" then perhaps something like: Make Delphi IDE launch clean, without any project opened.

Also, what about negations in other languages, should there cognates for "not" be avoided as well?

for other checkboxes don't have hints.

Is it really that important?

OTOH this text can be just removed. In the end, there are sources for those, who would (if ever) need to learn the method (for example, to debug it in Delphi versions where it would not work).

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

Yes Important 得很
We'll consider these texts.

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

“Do NOT Load Last Opened Project Automatically when IDE Launched.”

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

“Do NOT Load Last Opened Project Automatically when IDE Launched.”

fine with me, but you also said

Seems the word "NOT" in caption will bring some confuse for CheckBox, should be avoid.

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

i still hope you would code-in the startup clearing too

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

i still hope you would code-in the startup clearing too

Already done last month.

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

TCnPaletteEnhanceWizard.LoadSettings,line 1233
6eee83d 2024-03-30 08:49:51

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

1180 unstable should integrate this code piece.
But not sure the sequence whether our clear or IDE load is in the front.

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

chkClearRegSessionProject.Caption=Не
chkClearRegSessionProject.Caption=Ne
TCnPalEnhanceForm.chkClearRegSessionProject.Caption=Não

Caption=Do NOT Load

you seem to CAPS OUT the negation in English and German but not in other European languages. Is it intentional difference?

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

But not sure the sequence whether our clear or IDE load is in the front.

Well, the procmon trace above suggested it should work :-)

So, D2007.

I launch IDE with ClearRegSession off, open the project, close IDE and launch IDE again.
The IDE opens the project and has Session\Project filled in. As expected.

I then tick your checkbox and ClearRegSession get saved immediately on mrOK, as expected.

I use TaskMAnager to kill the IDE, it leaves Session\Project filled in. As expected. We just simulated IDE crash with the CnW feature just engaged, the most fragile scenario.

I launch the IDE - and the session get cleared before IDE checks it so the IDE runs blank.

Perfect!

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

unrelated.

bds_1jFtLZXL0Z

10.2.0

the next checkbox caption suggests it only works with Delphi 7 or older, but it is somehow enabled on xe 10.2.0 ?

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

Ah, i see...

You made them user-global, for all the IDE versions existing.

изображение

Well, kinda confusing design to mix local and global settings in one window, more so than irregular Hints in my opinion :-) But then, your project not mine.

Well, so i tested in XE 10.2.0 after 2007, it works as expected there too.

As of my itch, the case is closed, thanks a lot!

from cnwizards.

the-Arioch avatar the-Arioch commented on June 10, 2024

documentation bug. History:

2024.04.04 V1.3.1

....

Add an Option to Clear Session Project when Exiting IDE in Main Form Enhancement, defaultly Disabled.

  1. again, i'd rather document intention than implementation
  2. but if the choice was made for writing down implementation, then it is simply wrong after "clear on launch" was added too, not only on exit

from cnwizards.

cnpack avatar cnpack commented on June 10, 2024

Tiny issue, adjusted.

from cnwizards.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.