Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2010-03

XPCOM and freepascal

4 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Johannes Nohl

Dear list,

I wonder if it's possible to develop extensions (aka Add-Ons) for Firefox (or in my case Thunderbird). I'm totaly unfamiliar to the stuff right now. But the advantage I could think of is 1) I don't know C++ and 2) it is easy to cross compile code for different platforms.

Writing extensions without javascript needs XPCOM bindings. I saw that there're some for using the gecko rendering engine in Firefox. Is there a more general thing to access XPCOM? Anybody has experience with this? I'm a total C++ noob.

Any help would be appreciated.

Michael Van Canneyt
to Johannes Nohl
Johannes Nohl wrote 13 lines
Dear list, I wonder if it's possible to develop extensions (aka Add-Ons) for Firefox (or in my case Thunderbird). I'm totaly unfamiliar to the stuff right now. But the advantage I could think of is 1) I don't know C++ and 2) it is easy to cross compile code for different platforms. Writing extensions without javascript needs XPCOM bindings. I saw that there're some for using the gecko rendering engine in Firefox. Is there a more general thing to access XPCOM? Anybody has experience with this? I'm a total C++ noob. Any help would be appreciated.

Try looking at the gecko integration package. It is meant to do the opposite (integrating gecko in your app) but it also uses xpcom, and you should get ideas from that.

Michael.

Johannes Nohl
to Michael Van Canneyt
Show quoted text 14 lines
> I wonder if it's possible to develop extensions (aka Add-Ons) for > Firefox (or in my case Thunderbird). I'm totaly unfamiliar to the > stuff right now. But the advantage I could think of is 1) I don't know > C++ and 2) it is easy to cross compile code for different platforms. > > Writing extensions without javascript needs XPCOM bindings. I saw that > there're some for using the gecko rendering engine in Firefox. Is > there a more general thing to access XPCOM? Anybody has experience > with this? I'm a total C++ noob. > Try looking at the gecko integration package. It is meant to do the opposite (integrating gecko in your app) but it also uses xpcom, and you should get ideas from that.

Thanks Michael, I already found that. You may find there the relationship between XPCOM C++ bindings for Gecko and how to use them in fpc app. In my case i'm interested to access the adressbook in Thunderbird. Even if I would get along to find the right functions I have no idea how to process returned data. I guess you have to be a very good C++ developer for that as well. But that's ways over my skills, I think.

Thanks for your help.

Johannes

Michael Van Canneyt
to Johannes Nohl
Johannes Nohl wrote 22 lines
>> I wonder if it's possible to develop extensions (aka Add-Ons) for >> Firefox (or in my case Thunderbird). I'm totaly unfamiliar to the >> stuff right now. But the advantage I could think of is 1) I don't know >> C++ and 2) it is easy to cross compile code for different platforms. >> >> Writing extensions without javascript needs XPCOM bindings. I saw that >> there're some for using the gecko rendering engine in Firefox. Is >> there a more general thing to access XPCOM? Anybody has experience >> with this? I'm a total C++ noob. >> > > Try looking at the gecko integration package. It is meant to do the opposite > (integrating gecko in your app) but it also uses > xpcom, and you should get ideas from that. Thanks Michael, I already found that. You may find there the relationship between XPCOM C++ bindings for Gecko and how to use them in fpc app. In my case i'm interested to access the adressbook in Thunderbird. Even if I would get along to find the right functions I have no idea how to process returned data. I guess you have to be a very good C++ developer for that as well. But that's ways over my skills, I think.

I don't think so: everything is done using interfaces, and as soon as you have the definition of an interface, the rest should not be a problem. The main problem is to get the interface definitions.

I think they provide an IDL file, and you'd have to produce a pascal file from it. As I remember, there should be an idl-pascal on the net somewhere.

Michael.