Dave Novo 55 Posted February 23, 2024 Hello all, If you go to the Delphi help Docking (Delphi) - RAD Studio Code Examples (embarcadero.com) You see if refers to a "docking demo". The general help for the built is docking is woefully inadequate. If you go to RAD Studio Code Examples (embarcadero.com) You find that the code examples are supposed to be at Embarcadero Technologies · GitHub or GitHub - Embarcadero/RADStudio11Demos: Delphi and C++Builder Demos for Embarcadero RAD Studio version 11 I cannot find a docking demo in either location. Has this been removed from the demos? Or am I just going crazy and its really there. Searching the github for the work "dock" and also cloning the repo and searching for "dock" does not turn up any files Share this post Link to post
JonRobertson 76 Posted February 26, 2024 I found a demo project at https://github.com/Walibeiro/DockDemo. And a 9 page article that Brian Long wrote, titled Drag & Dock, published in issue 63 (November 2000) of The Delphi Magazine. I did not find anything more recent. I don't recall any significant changes to docking in the Delphi VCL. It has also been 9 years since I worked on an application with dockable forms. Share this post Link to post
Uwe Raabe 2091 Posted February 26, 2024 There is also a very old version on SourceForge: Rad Studio Code Examples Code Share this post Link to post
Serge_G 90 Posted February 28, 2024 (edited) When I first learn about docking, I view these two Alister Christie's videos https://learndelphi.tv/60-movie-32-dockable-forms https://learndelphi.tv/61-movie-33-dockable-forms-2 Edited February 28, 2024 by Serge_G Share this post Link to post
himitsu 1 Posted February 10 (edited) Walibeiro's code works in principle, even if it still has a few bugs. But it looks better than Delphi's docking itself. As we are considering whether or how we should replace MDI, I also put together a few initial demos. https://github.com/geheimniswelten/DockingDemos Basically, however, you can say that everything has at least one flaw somewhere and nothing works perfectly. I was sure that Borland/Embarcadero had another docking variant, but I can't find it at the moment. And they don't release the docking component of their IDE either. There was something in the Delphi XE demo folder, but you can no longer find it in the demos of the current Delphis. (but in principle it was the same as my DockDemo.exe) The https://sourceforge.net/p/radstudiodocdem/code/HEAD/tree/branches/RadStudio_2010/DelphiCodeExamples/Docking/ looks partly like the one from Walibeiro. https://www.delphipraxis.net/152925-welche-docking-library-verwenden.html Edited February 10 by himitsu Share this post Link to post
Anders Melander 1894 Posted February 10 I gave up on the VCLs docking a long time ago, after having spent a ridiculous amount of time trying to work around its numerous bugs. It's broken beyond repair and should be deprecated and replaced. I use DevExpress docking now and I think it works really well. That said, from watching our users, and even our in-house supporters, I can tell you that ordinary users don't understand how to use docking at all. It's really painful to watch them trying to get the dock layout they want. So I think it's best to try and limit the range of docking features available to the user. For example: No auto-hide panels, no docked maximize/minimize. Even floating dock panels might be too advanced or simply not usable (undocked forms obscure the windows below) or unnecessary (multi-monitors are being replaced by wide monitors). Share this post Link to post
pyscripter 717 Posted February 10 (edited) The IDE docking is based on TDockTabSet, which was introduced in Delphi 2005. It has received some attention later including Vcl styling. The only demo I could find is an old one by Jeremy North, but the source code is not available. Jeremy also seemed to have expanded this component in his QualityCentral client (look at the images at the end of the article), the source code of which is also not available. 3 hours ago, Anders Melander said: It's broken beyond repair It is not the sleekest implementation, but apparently it works OK in the IDE. 3 hours ago, Anders Melander said: So I think it's best to try and limit the range of docking features available to the user. For example: No auto-hide panels, no docked maximize/minimize. Agree in general, but it depends on the application. All the IDEs I know of, including Visual Studio, use docking extensively. Same is true for VS Code for example (but no floating forms though). In PyScripter I use a heavily modified version of JvDocking (part of the JVCL library), but I am still looking for a better open source library. I may have to create one. Edited February 10 by pyscripter 1 Share this post Link to post
Anders Melander 1894 Posted February 10 29 minutes ago, pyscripter said: The IDE docking is based on TDockTabSet, which was introduced in Delphi 2005. It has received some attention later including Vcl styling. The only demo I could find is an old one by Jeremy North, but the source code is not available. 23929_tdocktabset_sample_application.ZIP 11 minutes ago, pyscripter said: It is not the sleekest implementation, but apparently it works OK in the IDE. Last time I looked, and it's been a while, the docking manager used in the IDE was a different one from the one in the VCL. The behavior of the VCL docking manager is (was?) hardcoded into TControl in a way that made it impossible to fix from the outside. 17 minutes ago, pyscripter said: Agree in general, but it depends on the application. I would say it depends on the users. I was talking about typical non-technical end-users. Obviously highly technical users, such as developers, have no problems using docking. 2 Share this post Link to post
Vincent Parrett 806 Posted February 10 (edited) I can highly recommend the LMD Docking Pack - we have been. using it for a long time now and it's been rock solid. Edited February 10 by Vincent Parrett typo 4 Share this post Link to post