Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SampleDockWindow #116

Open
saadb opened this issue Mar 7, 2021 · 12 comments
Open

SampleDockWindow #116

saadb opened this issue Mar 7, 2021 · 12 comments

Comments

@saadb
Copy link

saadb commented Mar 7, 2021

If I do not want to use Syncfusion which I do not why is SampleDocKWindow using Syncfusion
So do I need to use SampleDockWindow which it looks like I do
How can I use the form without the Syscfusion Library reference? Help me please.

@TongZhai
Copy link

TongZhai commented Apr 14, 2021

I might have experienced similar issue with this when developing custom plug-in. I used the MW5.TemplatePlugin project and it worked out, I mean it can be loaded into the MW5 menu etc, however, when I copied that MW5.TemplatePlugin.dll onto a barebone testing machine and placed it under with the same MapWindow5\Plugins\ folder, it gave the following exception when it was turned on (by the way, the MW5 version I used is MapWindow-v5.6.3.0-x64.exe):
image

Now, this worked on my dev machine where Syncfusion libraries are installed, well, I surmise these are related. Anyway, any suggestion would be appreciated.

@TongZhai
Copy link

TongZhai commented Apr 14, 2021

As a follow up trial, I took out the SampleDockWindow injection in both MapListener and MenuListener, and tried it on our barebone testing machine again, this time it worked without that exception.

@mathijs-dumon
Copy link
Contributor

mathijs-dumon commented Apr 15, 2021 via email

@TongZhai
Copy link

Well, in this case, the "what you need from it" happens to be the SampleDockWindow and it didn't work. Are you suggesting somehow taking it out of that template project would make it work?

@mathijs-dumon
Copy link
Contributor

mathijs-dumon commented Apr 15, 2021 via email

@TongZhai
Copy link

@mathijs-dumon the bottom line is that we want to know why it is failing on a testing machine (with only a MapWindow5 installed) but not on our dev machine, I appreciate your responses, but they didn't answer the "why".

@mathijs-dumon
Copy link
Contributor

Ok I'll try and explain again:

  1. The MW5.TemplatePlugin is an example project and the output of the project is not included in the 'vanilla' MW5 installers
  2. If you build MW5 yourself on your DEV machine you might have compiled that project when building the solution. That means the dll's will be available, you can reference them and run your development build without a problem.
  3. As soon as you try to load that plugin from the 'vanilla' MW5 however, the MW5.TemplatePlugin.dll is not found and your plugin will fail to resolve its dependencies. Hence the error message.

@TongZhai
Copy link

I did NOT build it inside the whole MW5 solution, I installed the MW5 from installer to my personal directory, i.e. C:\Users\tong.zhai\programs\MapWindow5 , then, I created the MW5.TemplatePlugin project under that folder, then I set the MW5.Api, MW5.Plugins, MW5.Tools, Syncfusion.Shared.Base, Syncfusion.Tools.Windows references to the dlls inside MW5 installation directory.

@TongZhai
Copy link

TongZhai commented Apr 15, 2021

Also, I am very confused about what you mean when you kept saying that "MW5.TemplatePlugin.dll is not found in 'vanilla' MW5", of course we do NOT expect it to be there, that's the whole point of building your own custom plug-in and just drop into MW5's plugin folder to have it loaded, right?

@mathijs-dumon
Copy link
Contributor

mathijs-dumon commented Apr 15, 2021

Hi TongZhai, I misread your initial post. I assumed you were building your own plugin, in a new project and were referencing the MW5.TemplatePlugin. But you are simply modifying that template plugin solution, right?

In that case, one possiblity is that your dll was perhaps built for x86 instead of x64 - can you confirm the platform target in your dev environment was set to x64 for the plugin?

To answer the question by @saadb: you don't need to install the syncfusion library, you should be able to reference the dll's from a recent mapwindow 5 installation (like @TongZhai did). There is no way NOT to use these if you want a dockable window.

@TongZhai
Copy link

TongZhai commented Apr 15, 2021

Yes, I have the plugin set to x64 platform, and I installed the 64bit MW5, on both dev and testing machine. I suppose you guys already tried what I did, and it worked, or ...? and yes, I was just modifying the template plugin.

@TongZhai
Copy link

TongZhai commented Apr 15, 2021

I did a clean up of the reference list, and re-referenced all MW and Syncfusion related libs to dlls inside MapWindow5\Plugins\, now when the SimpleDockWindow is called, it is not giving that exception anymore, but it locks up the entire MW application, it just freezes up, had to use TaskManager to terminate it, this is the same behavior on both dev and testing machines.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants