Author Topic: Drivers depend on Controls?  (Read 2739 times)

leovailati

  • Newbie
  • *
  • Posts: 17
    • View Profile
Drivers depend on Controls?
« on: August 03, 2016, 01:28:33 PM »
Hello all,

I am working on an application that uses the communication drivers that AdvancedHMI provides, but not the GUI. However, I noticed that I must include all the following DLLs to have a working console application that does nothing but communicate with a ControlLogix controller:

AdvancedHMIControls.dll
MfgControl.AdvancedHMI.Controls.dll
MfgControl.AdvancedHMI.Drivers.dll (this is the only DLL that the application actually uses)

Interestingly enough, it works just fine with only the last DLL when the application runs from inside Visual Studio's hosting process ("debug mode"). So I am curious as to why this is happening. I noticed that the controls dlls are not present in the bin folder of the AdvancedHMIdrivers project, which indicates that there is no actual dependency.

Ideally, I would like to deploy my application with nothing but MfgControl.AdvancedHMI.Drivers.dll. I am aware that this kind of complaint sounds ridiculous when the whole AdvancedHMI is free to use, but MfgControl.AdvancedHMI.Controls.dll alone adds 6.2 MB to the final release! It would be great if I didn't have to ship it with the application.

I am using AdvancedHMI v399n. That you all for your help,

Leo

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5262
    • View Profile
    • AdvancedHMI
Re: Drivers depend on Controls?
« Reply #1 on: August 03, 2016, 05:02:20 PM »
The AdvancedHMI software is only licensed as a complete package and cannot be separated into pieces. If you are wanting to create a project other than the default WinForms VB project, you must add the project to the solution and set the 4 references as in the default project.

The licensing also requires distribution of the complete solution source code to the end user.

leovailati

  • Newbie
  • *
  • Posts: 17
    • View Profile
Re: Drivers depend on Controls?
« Reply #2 on: August 22, 2016, 11:33:33 AM »
Thank you for the information. I also saw the note on UsageAndLicense.txt. I have to say that I fail to see the reason behind item #5:

Quote
5) AdvancedHMI must be distributed in full. You cannot remove parts or use pieces in another project

If full credit is given, I don't understand why the user has to ship unused parts of AdvancedHMI with their project. I do agree with all other items, and I do appreciate that the authors decided to use GPL!

bachphi

  • Hero Member
  • *****
  • Posts: 642
    • View Profile
Re: Drivers depend on Controls?
« Reply #3 on: August 22, 2016, 12:03:58 PM »
It is what it is. Respect what he ask.
I saw some youtube videos out there without crediting Archie's work. I politely asked them to include AHMI logo in there.
===================================================
This is NOT alt.read.my.mind.
No such thing is sh^t-for-brains unless you are posting to alt.read.my.mind.
===================================================

Archie

  • Administrator
  • Hero Member
  • *****
  • Posts: 5262
    • View Profile
    • AdvancedHMI
Re: Drivers depend on Controls?
« Reply #4 on: August 22, 2016, 12:45:59 PM »
Thank you for the information. I also saw the note on UsageAndLicense.txt. I have to say that I fail to see the reason behind item #5:

Quote
5) AdvancedHMI must be distributed in full. You cannot remove parts or use pieces in another project

If full credit is given, I don't understand why the user has to ship unused parts of AdvancedHMI with their project. I do agree with all other items, and I do appreciate that the authors decided to use GPL!
The reason for this requirement is so the next guy to edit the solution has all the same controls available even if they are not used in the current revision. The next person may want to add more to the project and if his Toolbox is nearly empty , his first impression of AdvancedHMI would not be very good.

leovailati

  • Newbie
  • *
  • Posts: 17
    • View Profile
Re: Drivers depend on Controls?
« Reply #5 on: August 22, 2016, 02:01:49 PM »
It is what it is. Respect what he ask.
I saw some youtube videos out there without crediting Archie's work. I politely asked them to include AHMI logo in there.

I won't deploy without giving full credit and I don't mind adding the rest of the DLLs as well as the project code to my program. I just didn't see any technical reason for that, that is why I asked.

leovailati

  • Newbie
  • *
  • Posts: 17
    • View Profile
Re: Drivers depend on Controls?
« Reply #6 on: August 22, 2016, 02:42:26 PM »
The reason for this requirement is so the next guy to edit the solution has all the same controls available even if they are not used in the current revision. The next person may want to add more to the project and if his Toolbox is nearly empty , his first impression of AdvancedHMI would not be very good.

I see your point and I understand how it relates to HMI applications. It is a good thing that the next developer will have all controls available for them in the toolbox, and for sure will have a good impression of AdvancedHMI (Self-proliferating Marketing Model). However, I am not working on a HMI application. If the developer after me decides to improve my program, they would probably not care about UI controls in the toolbox.

My opinion is that item number 5 could be replaced by a "must give credit" clause. Say "somewhere in the developed application there must be a visible reference to AdvancedHMI and a link to advancedhmi.com". That way, whoever has to maintain AdvancedHMI programs in the future will have the information they need to find resources online and get to know the project. I think that this would be much more valuable, as it would motivate the following maintainer to update to the newest release (bug fixes + new features) and expose them to the non-free UI controls.

Additionally, it would expose non-developers to AdvancedHMI as well.

As I said before:

I won't deploy without giving full credit and I don't mind adding the rest of the DLLs as well as the project code to my program. I just didn't see any technical reason for that, that is why I asked.
« Last Edit: August 22, 2016, 02:44:12 PM by leovailati »