BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Some thoughts required...

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Non-Technical
View previous topic :: View next topic  
Author Message
Alexander Adam
Guest





PostPosted: Tue Aug 24, 2004 8:56 pm    Post subject: Some thoughts required... Reply with quote



hi,

How would you go if you'd have to build a modular application just like e.g.
Eclipse for Java in Delphi?
Means registering different Editors, different menus and all that crap,
should also be possible to write modules in C++, manage their versions etc..
any thoughts?

thanks,
Alex


Back to top
Jarle Stabell
Guest





PostPosted: Tue Aug 24, 2004 10:28 pm    Post subject: Re: Some thoughts required... Reply with quote



Alexander Adam wrote:
Quote:
How would you go if you'd have to build a modular application just
like e.g. Eclipse for Java in Delphi?
Means registering different Editors, different menus and all that
crap, should also be possible to write modules in C++, manage their
versions etc.. any thoughts?

You have to do everything with interfaces (or pure abstract classes).
Use Widestrings everywhere, stdcall calling convention etc.
Study addin-architectures in general, Borland's ToolsAPI, Eclipse and
others.

Be prepared for lots of work. Eclipse has world class OO gurus working
on it as their day jobs.
Since Delphi's UI components are not based on interfaces, you have to
wrap/encapsulate everything you want addins to access, or write your own
UI components and make them interface based.

Cheers,
Jarle



Back to top
Andrew
Guest





PostPosted: Tue Aug 24, 2004 10:49 pm    Post subject: Re: Some thoughts required... Reply with quote



Alexander Adam wrote:

Quote:
hi,

How would you go if you'd have to build a modular application just
like e.g. Eclipse for Java in Delphi?
Means registering different Editors, different menus and all that
crap, should also be possible to write modules in C++, manage their
versions etc.. any thoughts?

thanks,
Alex

Delphi BPLs are a VERY powerful structure for building plug-in type
applications. However, the Borland docs don't spend much time on this
use. Buy The Delphi Magazine back issue CD for some great examples. I
built a report generator where each report was a bpl. It would load in
the logic for formatting the report AFTER it parsed the raw data file
to see what kind of report it was.

As for C++, I believe C++ Builder supports BPLs as well.

Cheers,
Andrew

Back to top
Alexander Adam
Guest





PostPosted: Wed Aug 25, 2004 12:35 am    Post subject: Re: Some thoughts required... Reply with quote

hi,

Quote:
Delphi BPLs are a VERY powerful structure for building plug-in type
applications. However, the Borland docs don't spend much time on this
use. Buy The Delphi Magazine back issue CD for some great examples. I
built a report generator where each report was a bpl. It would load in
the logic for formatting the report AFTER it parsed the raw data file
to see what kind of report it was.

I know, we did that already but ran into too much problems. We want a more
"standartized" way of doing things here...

thanks,
Alex



Back to top
Alexander Adam
Guest





PostPosted: Wed Aug 25, 2004 12:36 am    Post subject: Re: Some thoughts required... Reply with quote

hi,

Quote:
Be prepared for lots of work. Eclipse has world class OO gurus working
on it as their day jobs.
Since Delphi's UI components are not based on interfaces, you have to
wrap/encapsulate everything you want addins to access, or write your own
UI components and make them interface based.

So how would I go from there? I want e.g. my modules to have their own menu
that becomes the main menu when the editor gets active, access parents
events and properties etc.. Oh, and are there any samples of custom
components supporting interfaces?

thanks,
alex



Back to top
Dennis Landi
Guest





PostPosted: Wed Aug 25, 2004 1:13 am    Post subject: Re: Some thoughts required... Reply with quote


"Alexander Adam" <nospam (AT) please (DOT) com> wrote in message

Quote:
any thoughts?

"My stomach's growling"

"I'm in the mood for popcorn"

-d



Back to top
Alexander Adam
Guest





PostPosted: Wed Aug 25, 2004 1:32 am    Post subject: Re: Some thoughts required... Reply with quote

Quote:
any thoughts?

"My stomach's growling"

"I'm in the mood for popcorn"

erm... I thought on some specific thoughts on the subject but nevermind,
popcorn is a good idea <g>



Back to top
Dennis Landi
Guest





PostPosted: Wed Aug 25, 2004 2:07 am    Post subject: Re: Some thoughts required... Reply with quote

"Alexander Adam" <nospam (AT) please (DOT) com> wrote

Quote:
any thoughts?

"My stomach's growling"

"I'm in the mood for popcorn"

erm... I thought on some specific thoughts on the subject but nevermind,
popcorn is a good idea

now, you know why I haven't started my own blog....



Back to top
Ryan Mills
Guest





PostPosted: Wed Aug 25, 2004 12:50 pm    Post subject: Re: Some thoughts required... Reply with quote

Quote:
So how would I go from there? I want e.g. my modules to have their own menu
that becomes the main menu when the editor gets active, access parents
events and properties etc.. Oh, and are there any samples of custom
components supporting interfaces?

I wrote a component that allowed me to generate a "menu" in my plugin. When my
plugin is loaded I ask for its "menu" structure and then based on what it hands back
the menu gets generated from that. When the plugin is unloaded the same thing happens
but instead of adding I remove all menu items tied to that plugin.

All of my plugins are able to be dynamically loaded and unloaded, they support loading of
menus and context menus, UI pages and other stuff. The whole thing workes through a
set of interfaces and runtime BPLs.

I've taken a long time, and a lot of work, to get my plugin system to this point. It's been
an exercise in teaching myself just that. I would suggest that you either look at an already
existing plugin system (UIL, JVCL, TMS, etc) or expect to spend some time learning the
ropes on how to create one from scratch.

HTH,
Ryan.




Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Non-Technical All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.