Hi all,
1. I'm currently checking out dbExpress with Kylix. Is is compilable with fpc ?
2. Is there an IDL-to-objectpascal mapping somewhere ?
cheers,
-Krish

Mailing lists / fpc-pascal / 2004-02
12 messages · 5 people · –
Reply by email Subscribe to this list Your subscription
Read-only archive. Use j and k to move between messages.
Hi all,
1. I'm currently checking out dbExpress with Kylix. Is is compilable with fpc ?
2. Is there an IDL-to-objectpascal mapping somewhere ?
cheers,
-Krish
Hi all, 1. I'm currently checking out dbExpress with Kylix. Is is compilable with fpc ?
No. That is, FPC has no dbExpress components.
2. Is there an IDL-to-objectpascal mapping somewhere ?
Not yet.
Michael.
Looks like dbExpress is written in C/C++ .
FPC supports both COM and CORBA interfaces - right ?
cheers,
-Krish
> No. That is, FPC has no dbExpress components. Looks like dbExpress is written in C/C++ .
IIRC dbExpress is sort of based on Midas. I doubt that dbExpress is legally available for free use. I think you at least need a license for a Pro+ version of Delphi and thet covers you for deployment. None of the TDataSet stuff was included in the Personal version last time I looked. Infact D7 Personal IDE will not let you load the Pro+ dataset packages. I know, I looked into that as a matter of personal discovery ;-)
> Not yet. FPC supports both COM and CORBA interfaces - right ?
I wouldn't have thought so. Delphi does it via compiler magic.
Matt
hmm. I see dbExpress as a set of interfaces - thats it. I think you are free to implement them. btw, TDataSet is not part of dbExpress.
I also looked at Qt's database classes and I see a strong resemblance to dbExpress's (including class and method names !)
> FPC supports both COM and CORBA interfaces - right ? I wouldn't have thought so. Delphi does it via compiler magic.
I think fpk told me so on #fpc .
cheers,
-Krish
This is correct. You must implement a library which exposes this interface.
btw, TDataSet is not part of dbExpress.
No. It's part of the VCL. It's available in FPC as well.
dbExpress has 2 parts:
- A VCL part - a TDataset Descendendent.
- A driver, which exposes a strictly defined interface. The driver can be written in any language.
I also looked at Qt's database classes and I see a strong resemblance to dbExpress's (including class and method names !)
I suspect that this is because Borland and Troll Tech cooperated on this matter, and I would not be surprised if Troll Tech used Borland's design :-)
An interface is a construct independent of COM or CORBA. It's just a set of methods. Delphi does allow you to use COM methods transparantly via interfaces. In principle, the same should be true for FPC.
Michael.
An interface is a construct independent of COM or CORBA. It's just a set of methods. Delphi does allow you to use COM methods transparantly via interfaces. In principle, the same should be true for FPC.
ok. now I recollect. COM interfaces have 3 additional methods (from IUnknown). Classes implementing CORBA style interfaces do not have to implement those three (AddRef, RemoveRef (?), QueryInterface)
cheers,
-Krish
hmm. I see dbExpress as a set of interfaces - thats it. I think you are free to implement…
hmm. I see dbExpress as a set of interfaces - thats it. I think you are
free to implement them. btw, TDataSet is not part of dbExpress.
I also looked at Qt's database classes and I see a strong resemblance to
dbExpress's (including class and method names !)
Yes, the underlying database access, but to make it usefull you'd either need to reimplement the pascal interface or port the Delphi classes that access dbExpress. That was my thought anyway. IIRC you would need the source code for MidasLib too.
Matt
This is correct. You must implement a library which exposes this interface. No. It's part…
It is true ;).
Added a short note to the wiki about it (Section New in 1.9.x (not yet in the docs)):
http://www.freepascal.org/wiki/wiki.phtml?title=Language_related_articles
(Michael, this is for the docs as well and can be removed then from the wiki :) )
Is it global or local?
What do you mean with global/local? It can be changed at every place in a program/unit.
This:
What do you mean with global/local? It can be changed at every place in a program/unit.