Jump to content

David Hoyle

  • Content Count

  • Joined

  • Last visited

  • Days Won


David Hoyle last won the day on February 5 2019

David Hoyle had the most liked content!

Community Reputation

52 Excellent

1 Follower

Technical Information

  • Delphi-Version
    Delphi 10.3 Rio

Recent Profile Visitors

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

  1. David Hoyle

    Delphi and Peganza Expert causes access violation

    Then you will need to contact Peganza's support and let them know.
  2. David Hoyle

    How to compare performance between Delphi versions?

    What kind of issues did you have? BPLs for different version need to be in different directories if they do not have any kind of naming convention for Delphi IDE version. Some components will complain they cannot be found unless the folder they are in is on the path. Instead of adding to either your system path or user path; try modifying the path variable in the IDEs environment variables so that its isolated to that version of the IDE - this has worked for me in the past.
  3. David Hoyle

    Delphi and Peganza Expert causes access violation

    Have you download just the DLL or did you compile it from the source? Do you know if it is compatible with 10.4.2? Okay, Looking at the support page it only supports up to 10.3 not 10.4.
  4. David Hoyle

    How to compare performance between Delphi versions?

    You can install all major releases side by side, you just cannot do that with point releases. I have 2006 through to 10.4.2 all installed on this machine I'm typing on with no issues other than removing all the BDS related path data from the path (it's not needed in general).
  5. Which installer did you use: On-Line or Off-Line? Since both are based on Get It its BDS.exe that runs the installation process. Could you have an overzealous AV programme that's removing the bds.exe as its definitions are not up to date for the latest release?
  6. David Hoyle

    Need help finding the IDesigner

    No. What is the context under which you are trying to do what you are attempting. To do what I've described you need to write an Open Tools API BPL or DLL and add it to the IDE. This will then give you access to the designer once you have an IOTAModule reference to your form.
  7. David Hoyle

    Need help finding the IDesigner

    I'm not sure I understand correctly what you are trying to do here but the Open Tools API can provide you access to the IDesigner from INTAFormEditor.GetFormDesigner. You can get the INTAFormEditor by querying the IOTAModule interface for the form.
  8. David Hoyle

    Generic Drawing Engine

    Thank you @David Heffernan and @Eugine Savin. Clearly, I was too ambitious. I tried a few other things with generics and then abandoned them when they didn't work either. I decided to change the underlying coordinate system to Single from Integer and I'm using TPointF and TRectF and the real-time rendering in my application, even with VCL styles, does not seem to have diminished. Still need to test on an old machine with a crappy graphics card but I think this will allow me to do what I want going forwards.
  9. Check your IDEs Environment Variables (in the Options dialogue) and see if it is redefining the PATH variable to something that stops the IDE being able to search for the BPLs.
  10. I'm trying to create a rending engine that can use different canvas's where the coordinate system could Integer or Single. This is so that the differences between the output systems can be abstracted at the canvas level. I've tried to used generics (see code below) but it will not compile. I don't know whether I'm trying to be too ambitious or whether I'm missing something. The below code is a test project that shows the issue. Any help would be appreciated. Note: The below code is not intended to run as it's missing some implementations, I'm just looking for it to compile. Program IndirectGenerics; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils; Type IPen<T> = Interface Function GetWidth : T; Procedure SetWidth(Const AValue : T); Property Width : T Read GetWidth Write SetWidth; End; ICanvas<T> = Interface Function GetPen : IPen<T>; Property Pen : IPen<T> Read GetPen; End; TConcreteCanvas<T> = Class(TInterfacedObject, ICanvas<T>) Strict Private FPen : IPen<T>; Strict Protected Function GetPen : IPen<T>; Public Constructor Create; End; TConcreteDrawingEngine<T> = Class Strict Private FCanvas : ICanvas<T>; Strict Protected Public Constructor Create(Const Canvas : ICanvas<T>); Procedure DoSomething; End; { TConcreteCanvas<T> } Constructor TConcreteCanvas<T>.Create; Begin // FPen := End; Function TConcreteCanvas<T>.GetPen: IPen<T>; Begin Result := FPen; End; { TConcreteGantt<T> } Constructor TConcreteDrawingEngine<T>.Create(Const Canvas: ICanvas<T>); Begin FCanvas := Canvas; End; Procedure TConcreteDrawingEngine<T>.DoSomething; Begin FCanvas.Pen.Width := 1; // <= Does not compile as it thinks T is not Integer End; Var IntegerCanvas : ICanvas<Integer>; IntegerDrawingEngine : TConcreteDrawingEngine<Integer>; SingleCanvas : ICanvas<Single>; SingleDrawingEngine : TConcreteDrawingEngine<Single>; Begin Try IntegerCanvas := TConcreteCanvas<Integer>.Create; IntegerDrawingEngine := TConcreteDrawingEngine<Integer>.Create(IntegerCanvas); //... SingleCanvas := TConcreteCanvas<Single>.Create; SingleDrawingEngine := TConcreteDrawingEngine<Single>.Create(SingleCanvas); //... Except On E: Exception Do Writeln(E.ClassName, ': ', E.Message); End; End.
  11. David Hoyle

    Tools API - Changing Key Assignment

    Ctrl+D has never worked for me but then again I'm still using WordStar/Classic IDE key bindings which might grab Ctrl+D for moving the cursor.
  12. David Hoyle

    Tools API - Changing Key Assignment

    I already do this with GExperts so I know it can be done unfortunately I'm on my work machine so cannot show you. The menu item is now hidden underneath View | Editor I think but it is there somewhere. I use Ctrl+Alt+D so I need to disable this shortcut first (disassembly view I think) and then I can assign it for Format Source.
  13. David Hoyle

    Tools API - Changing Key Assignment

    Use GExperts to define an alternate keybinding for this rather go through the rigmarole of creating an expert to do this.
  14. Install WordFence (the are free and paid version) and keep the number of plug-ins to a minimum.
  15. David Hoyle

    cannot install Konopka VCL Controls from GetIt

    Did you install from the ISO? If so you need to reconfigure GetIT for on-line use: `GetItCmd.exe -c=useonline ` (http://docwiki.embarcadero.com/RADStudio/Sydney/en/Release_Notes).