More > Media Center 12 (Development Ended)

Third Party Plug-ins working/not working with MC.12

<< < (5/5)

Mr ChriZ:

--- Quote from: KingSparta on July 05, 2006, 11:54:20 am ---

It should be in the reference files

--- End quote ---

My earlier explanation was a bit vague:

What happens is .NET can't just reference MFC DLL's like that.
So they have to be wrapped up in an assembly file.
The assembly file is then referenced by each plugin using it.
This was one of the stumbling points of some of the people that tried
to do .NET plugins before me.  The assembly also has to be (or should be) strong named.
I really don't get the purpose of this, since under MFC they never were strong named.
Because the TLB files are wrapped up, they have to be shipped with the
plugins instead of just referencing the TLB file that comes with MC.

So effectivley the MC11 .NET plugins are using the MC11 TLB File
to work with MC12.  For the moment it appears to be working,
but I think it would be wise to be cautious and do a fair amount
of testing before allowing the public to try them with MC12.

So far I've tested EvilLyrics and C# Script almost daily
since moving to MC12 with no issues at all.

Eventually when things quiet down I'll put out
a new assembly file to ship with the .NET plugins
with the updated TLB file.

While I think what Kings plugins do with the version check is a good thing
In someways I wonder if the Version check should be with MC, rather than
the plugins, if it is needed?  That would be more failsafe.

KingSparta:

--- Quote ---While I think what Kings plugins do with the version check is a good thing
In someways I wonder if the Version check should be with MC, rather than
the plugins, if it is needed?
--- End quote ---

I am Not sure what would happen when it worked in one and not in a newer version. it could have catastrophic results if data is being changed.

Mr ChriZ:
To Matt/JR: all in all I'm quite suprised the .NET plugins still work.
I don't know enough about the MFC side of things to truley understand what's
happening.  You've shipped a new TLB file with MC.
However is it possible that you've left the code in MC to deal with
the old TLB?

The TLB file is after all just an interface, with all the different types defined.  ?
If so then obviously no harm is going to come from using the .NET plugins
as they are.  If it just works by some weird and wonderful coincidence
it's probably more dangerous. 

On the other hand... once it's got to the compiled stage all the names go out the window...
lol I don't know  8)

Matt:
We add new functions to the end of the interface.  This maintains backwards compatibility.

Mr ChriZ:
Ah brilliant cheers  :)

Navigation

[0] Message Index

[*] Previous page

Go to full version