[fpc-pascal]Create an OCX with FreePascal
Michael Van Canneyt
michael.vancanneyt at wisa.be
Thu Oct 11 16:07:56 CEST 2001
On Thu, 11 Oct 2001, Cabuzel Thierry wrote:
> > -----Original Message-----
> > From: Dirk Mattes [mailto:Dirk.Mattes at unitedplanet.de]
> > Sent: jeudi 11 octobre 2001 15:00
> > To: fpc-pascal at deadlock.et.tudelft.nl
> > Subject: AW: [fpc-pascal]Create an OCX with FreePascal
> > Hi all,
> > > Michael Van Canneyt wrote:
> > > >
> > > > I don't know what the OCX format is, if it is a simple
> > > .dll, then it should
> > > > be possible.
> > >
> > > an OCX is a DLL, which follows some special convention
> > (exportet names
> > > etc.). Writing an ActiveX Control by hand should be
> > possible with FPC,
> > > but it isn't trivial, as you have to implement a lot of COM
> > > interfaces.
> > > I think Visual C++ or the Platform SDK come with some
> > examples how to
> > > write such a thing by hand, they should translate to FPC quite
> > > straightforwardly.
> > to write COM-Objects in FPC is possible and not difficult too much.
> > But an OCX (ActiveX-Control) is a problem, cause has to do with
> > OLE-Automation. Like Michael says, you have to implement many
> > interfaces
> > (i.e. IDispatch for late-binding your methods, IEnumVARIANT
> > and others),
> > that Delphi or VC creates automaticly or Automation gives you in order
> > to you type library. Most of your interfaces have to be
> > comaptible with
> > OLE-Automation. You also have to convert many Header files
> > for constants
> > that OLE uses (like VT_DISPATCH and many others).
> > So, forget about it an use Delphi or VC.
> Arg, that's what I doesn't want to hear. But more I read answer from my
> post, more I feel that's will be the final answer. I think i will go to
> create a DLL in FP, then write an wrapper OCX in Delphi if I found someone
> who have Delphi...
You can register and download Delphi 6 personal edition for free from borlands web site.
I don't know whether it contains the ActiveX functionality, it may b e that you need
the Professional or Enterprise version for that.
More information about the fpc-pascal