CALL US NOW : +1-800-445-2620
Forums
SharpE :: Forums :: SharpE Development :: SharpE Development   << Previous thread | Next thread >>
Skin System and plugins
Moderators: Billi Berserker, pixol, silentpyjamas
Author Post
Billi Berserker
Tue Oct 25 2005, 01:23AM


Registered Member #1
Joined: Mon Dec 13 2004, 01:12AM
:
posts: 374
This is just a comment to the post BA made in the public forum

When we recode the plugin system we need to do something very, very important:

Make the DLL spec use only STDCALL for DLL functions.

Then we can make plugins in BCX, C, *basic, anything.


I think I haven't showed you the pdf doc I started to write,
but basicly the problem is that the new plugins have to use the skin components in order to display anything skinable.
But all the skin components (TSharpEButton,etc... ) are delphi classes,
and in addition to this they have to use all the same TSharpESkinManager which is provided by the host app (SharpBar). So app and dll have to exchange the pointer to the host apps TSharpESkinManager class. And then this has to be assigned to the plugins skinable components.
Not sure what you think, but all these are delphi specific classes and components.
How would they ever work with C++ or any oder programing language?

anyway, what's STDCALL? ;oops:

BB - -email-
Lead developer (SharpBar, SharpDesk, SharpTheme, Skin System,)
Back to top
Private Message
hollow
Tue Oct 25 2005, 08:34PM
Registered Member #181
Joined: Sun Mar 06 2005, 02:57PM
:
posts: 8
BB, i would like to read the document you're talking about. i have some ideas on exposing delphi objects to other languages.
Back to top
Private Message
pixol
Wed Oct 26 2005, 01:01AM
Pixolated


Registered Member #3
Joined: Wed Dec 15 2004, 10:41AM
:
posts: 563
It's not really possible, we use Delphi classes such as Gr32 in the Dll itself, and these are Delphi centric.

Pixol - pixol@sharpe-shell.org
Lead developer of SharpCore + Core Services
Back to top
Private Message
pixol
Wed Oct 26 2005, 01:04AM
Pixolated


Registered Member #3
Joined: Wed Dec 15 2004, 10:41AM
:
posts: 563
In my view it is more important to do it well in Delphi, than take more time to make it support other languages. There is the other alternative of COM, but after programming in Directx this is complicated until you know how to use it.

Pixol - pixol@sharpe-shell.org
Lead developer of SharpCore + Core Services
Back to top
Private Message
mh166
Wed Oct 26 2005, 03:06AM

Registered Member #27
Joined: Sat Dec 18 2004, 11:03AM
:
posts: 101
Well, don't really know wether it's possible to make the skin components useable in other laguages, too. But I guess at least the Gr32 shouldn't be THAT problem since it's used within the skinsystem coded in #Bar (or whereever) but not in the plugin itself, isn't it?

So it would just need time to make these classes available in other programming languages. So I'd suggest, BB, to ask in the Delphi-PRAXiS or in the DSDT-Forum. I bet they can help you with creating wrapper classes for C and co.

wfg, mh166

PS: You wanted to know, what stdcall is: In the last but one paragraph on this site it's written. But I guess it should also be descriped in the delphi-help so try F1
[ Edited Wed Oct 26 2005, 11:09AM ]
Back to top
Private Message
Billi Berserker
Wed Oct 26 2005, 05:41AM


Registered Member #1
Joined: Mon Dec 13 2004, 01:12AM
:
posts: 374
The point simply is that we need much more data sharing between module and application with the skin system.
I don't want each module to create it's own Skin Manager class (this would mean to load + parse the whole skin for each module).
So the ideal thing would be to make the host application (SharpBar) to create one TSkinManager class and share this with the modules.
But as you know TSkinManager is a delphi class using many many delphi specific units and classes. (not only GR32).
Is it really worth the work to make this work with C++, VB or whatever?
Will it even be possible to work without coding the whole skin system a second time in C++?

Maybe putting everything in a dll might work,
but then we will most likely lose the flexibility of GR32 and in the end using the skins would be much more difficult. Also it would be much work to put all the skin stuff into a dll, and would it integrate that nicely into Delphi anymore?

BB - -email-
Lead developer (SharpBar, SharpDesk, SharpTheme, Skin System,)
Back to top
Private Message
pixol
Wed Oct 26 2005, 06:07AM
Pixolated


Registered Member #3
Joined: Wed Dec 15 2004, 10:41AM
:
posts: 563
I really don't think it's important, we already had competent plugins created in PB4, i don't see the reason for losing functionality for the sake of supporting a few languages. SharpE was always meant to be coded in Delphi.

Pixol - pixol@sharpe-shell.org
Lead developer of SharpCore + Core Services
Back to top
Private Message
blueapples
Wed Oct 26 2005, 01:19PM
The Honorable Dr. Rev.


Registered Member #33
Joined: Sun Dec 19 2004, 01:02PM
:
posts: 106
The problem is that I'm afraid we're loosing people who might write awesome plugins because they don't know Delphi. Providing an interface for C would be really awesome and broaded our third party developer base.

Also I am working on a form editor/scripting system that we can easily integrate with the skinning system. This will let people write plugins in special versions of Basic, Pascal, and something called C Script.
Back to top
Private Message
mh166
Thu Oct 27 2005, 05:25AM

Registered Member #27
Joined: Sat Dec 18 2004, 11:03AM
:
posts: 101
To be honest I don't see, where you're prob is, BB. Maybe you should just tell more about the interface you're planning to use so we can sit down together and find a solutions for it. Because I agree with ba: SharpE would be more usefull for any dev you could use the language of your choice for writing plugins.

wfg, mh166
Back to top
Private Message
Matt
Thu Feb 16 2006, 06:44PM

Registered Member #750
Joined: Tue Nov 29 2005, 08:58AM
:
posts: 200
Good idea mh166.
Back to top
Private Message

Jump:     Back to top

Syndicate this thread: rss 0.92 Syndicate this thread: rss 2.0 Syndicate this thread: RDF
Powered by e107 Forum System




All trademarks are their respective owners, all other content is e107 powered website.
e107 is e107.org 2002/2003 and is released under the GNU GPL license.