HI, i shared my CorelDraw Addons Template for Visual Studio 2015,2017, i use community version and template saves a little of my time, for X7 or heigher templates.
Source Code "CorelDraw Addons Template": https://github.com/bonus630/DockerTemplateX7
VSIX Download "CorelDraw Addons Template": https://marketplace.visualstudio.com/items?itemName=bonus630.CorelDrawDockerTemplate
Now, i shared too my setup creator
VSIX Download "CorelDraw Addons Packer" : https://marketplace.visualstudio.com/items?itemName=bonus630.CorelDrawAddonsPackerFree
This vsix contains the follow commands for visual studio 2019 only:
1- Muiti Guid Generator, locates in Main Menu -> Tools
The next commands will display only after a CorelDraw Addons Solution is fully loaded
2- Packer/Setup Creator button, locates in Standards Tool Bar before Redo button, works only in projects create using "CorelDraw Addons Templates" version 2.500
The last commands is locate in Solution Explorer Context Menu in a Sub Menu called "CDR Addons Tools"
3- Update CorelDraw Paths, this command will update all reference to coreldraws assemblies paths, this will help in projects migrations to others dev machines,
In version 2,500 of "CorelDraw Addons Templates" then paths is stored in target file
4- Open CDR Addon Folder, this command open file explorer in addon folder of current current Solution Configuration (X7,X8,2017...)
5- Delete Workspace and Run, this command will delete workspace file and run the project of current Solution Configuration, is recommended make a workspace backup, reset workspace is necessary always happens a edition in "UserUI.xslt" file.
6-Manage Configuration, this command opens a form to select Solutions Configurations, the packer/setup produced by command "2" will permits only installation in version of coreldraw corresponding of your Solution Configurations, for exemple:
To create a setup to coreldraw X8 only, you need marks only X8 configurations
To create for all supported version you need marks all configurations
Feel free to criticize and suggest!
Sorry for the thread necromancy, but I wanted to sincerely thank you for making this.
I had built a docker way back in X6, but had not done anything with them for a long time and about a week ago when I was looking for the way to do it Oberon Place was down so no decent tutorial was available.
I tried your template and it turned out being so much easier, as it does the integration for you and you can start working on the design right away. Can forget the clumsy HTML-based interface approach and the awkward xslt integration of the past. So super-big thanks for this.
But I also had a question. Being so deeply rooted in VBA I may be missing something in VB (I'm using Visual Basic for the docker), but is it assumed that if one wants to work with CorelDRAW directly from the docker and not just send commands to a VBA macro that's already present one has to use the corelApp component for every single request?
Say, if I had this code in VBA:
ActivePage.Shapes.All.Move -ActivePage.SizeWidth * 2, 0
corelApp.ActivePage.Shapes.All.Move(-corelApp.ActivePage.SizeWidth * 2, 0)
And, of course, this is a single line of code, but then would I actually need to fully "corelApp" prefix all of the code I'd like to transplant or is there a more elegant solution?
The reason I don't want to just call VBA macros is that some often heavy shape processing is taking place and it is quite useful to have a progress display and also the ability to cancel the processing.
Also, thinking about performance - would it be way slower to do the processing (basically tens of thousands of commands) in the docker code itself or that should not matter, whether it's "classic" VBA or code coming from a docker?
Joe said:And, of course, this is a single line of code, but then would I actually need to fully "corelApp" prefix all of the code I'd like to transplant or is there a more elegant solution?
did you try to write like that -
.Shapes.All.Move(-.SizeWidth * 2, 0)
Thanks for the input.
Sure, I could do that, but that does not really solve the bigger question - if I bring in something more complex (for example just one of my tools has about 1800 lines of code) it seems like it would be necessary to basically either prefix everything with CorelApp or do a With and then pepper everything with dots, add parenthesis as necessary.
I am just wondering if either of those are the only options and, perhaps even more importantly, if there is a performance hit when doing everything from the docker.
VBA is more fast, but doesn't because the prefix, in a addon you are out side the host application in vba you are inside.