Jump to content

Uwe Raabe

Members
  • Content Count

    2906
  • Joined

  • Last visited

  • Days Won

    169

Uwe Raabe last won the day on May 22

Uwe Raabe had the most liked content!

Community Reputation

2159 Excellent

About Uwe Raabe

  • Birthday 09/30/1956

Technical Information

  • Delphi-Version
    Delphi 12 Athens

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Uwe Raabe

    Embarcadero Support Request

    You can contact Devid Espenschied
  2. The Architect SKU is in fact an Enterprise SKU with additional licenses for some external tools (RAD Server Multi-Site, Sencha Ext JS Professional Edition, Aqua Data Studio). This SKU can only be detected from the license, so an IDE plugin can query the SKU and will return Architect with an appropriate license.
  3. I cannot check this in my environment as I neither have a Personal Edition nor a Community Edition at hand. I can just share that my Architect Edition shows Enterprise in the details, which is expected because Enterprise and Architect differ only in the licenses for some external tools. Given the previous findings, the Product name seems to be a valid approach to detect the installed edition.
  4. In terms of SKU, the Community Edition is in fact a Professional Edition. It is just the License restrictions that make it a CE.
  5. Uwe Raabe

    Having the same unit twice in the uses clause

    The IDE as well as MSBuild are using the dproj file of your project, while the compiler only sees the dpr. At the end of the dproj file there is an import command for CodeGear.Delphi.Targets, which itself imports CodeGear.Common.Targets. The latter sets the UnitAliases given to the compiler.
  6. Uwe Raabe

    Having the same unit twice in the uses clause

    If a unit is resolved by the -A option, any double occurrence is silently resolved, too. So, strictly speaking, the error is not suppressed in the sense of it is an error, but we don't show it, but rather internally resolved by removing the superfluous occurrences. In my blog article Conditional Uses Clause Considered Harmful one of the suggestions (Solutions 2) actually makes use of this behavior.
  7. Uwe Raabe

    Having the same unit twice in the uses clause

    The IDE implicitly adds an alias for Generics.Collections=System.Generics.Collections which suppresses that error. Although not specified in the project itself, this alias is added in CodeGear.Common.targets.
  8. Uwe Raabe

    Spacing tRadioGroup on a TabSheet

    As you are already accessing TabSheet6.Controls, you better use ControlCount instead of ComponentCount.
  9. Uwe Raabe

    TVirtualImageList Custom component

    It also scales the image if the requested size is not present.
  10. Uwe Raabe

    What .PAS file does a form use?

    Let me guess: fRepCompEnrolment is a form containing a component named sctRepCustListt (not sure about the trailing doubled t, but I copied it) of type TSctReport? Then the file where fRepCompEnrolment is declared is the pas file you are looking for. It can still be that that .pas cannot be found and it works because the compiled .dcu is used instead, but that would be pretty uncommon for this case.
  11. Uwe Raabe

    What .PAS file does a form use?

    Did you search for sctRepCustList? Then search for the type of that variable and you get your report form.
  12. Uwe Raabe

    What .PAS file does a form use?

    Unless I misunderstand you completely, the .pas file have the same name as the .dfm file containing the form. Well, that might indeed be the case, but you might describe your situation in more detail to clarify.
  13. Uwe Raabe

    Modelmaker integration

    OK, on a 64-Bit Windows, the key seen by a 32-Bit application like ModelMaker is HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Embarcadero\BDS\19.0
  14. Uwe Raabe

    Modelmaker integration

    The code for checking the presence of a Delphi IDE is like this: function IsDelphiIDEInstalled(IDEVersion: TDelphiIDEVersion): Boolean; var R: TRegistry; begin R := TRegistry.Create; try R.RootKey := HKEY_LOCAL_MACHINE; Result := R.OpenKeyReadOnly(DelphiIDEKey(IDEVersion)); finally R.Free; end; end; DelphiIDEKey evaluates to Software\Embarcadero\BDS\%d.0 for the newer versions. Note that ModelMaker is only aware of BDS versions up to 19.0 (Delphi 10.2 Tokyo). You might get away with just creating the base key for a non-installed version to trick ModelMaker into looking for the expert. So adding HKLM\Software\Embarcadero\BDS\19.0 to the registry should get you going.
  15. Uwe Raabe

    Modelmaker integration

    Is this in HKEY_LOCAL_MACHINE? If yes, there might be other criteria being checked for existence of a Delphi version. I'm willing to investigate, but my possibilities in regard to ModelMaker are a bit limited compared to MMX.
×