[fpc-devel] don't you think it's time to update delphi modecompatibility? - IDispatch, implements

Danny Milosavljevic danny.milo at gmx.net
Fri May 27 11:15:50 CEST 2005


Hi,

Am Freitag, den 27.05.2005, 15:36 +0700 schrieb Bisma Jayadi:
> > Name one that really enables you to do something that you couldn't do
> > otherwise.
> 
> Actually... none. :)
> 
> > If you want portability, simply don't use D2005 syntax.
> 
> Hmmm... very nice advice. :)
> 
> > Write it in D7 and compile it everywhere.
> >
> > To my knowledge there are no plans for post-D7 support. The whole point is
> > compability with Delphi.NET, and there is not much interest in that anyway.
> 
> So, may I conclude that FPC is targetting D7 language compatibility? That's 
> sound fair enough to me, and -thanks God- I can live with that. :)
> 
> Is the D7 compatibility has been reached fully or partially or still under 
> development? How far the compatibility of FPC v.2.0 with D7? Is there any docs 

at least the (com) "implements" keyword and the variant IDispatch
compiler support is still missing, whereas someone wanted to tell me the
behaviour of the latter, but mysteriously vanished. Someone else started
to implement the "implements" keyword, I think.

For IDispatch, its something like if there is a variant (containing
a ??? IUnknown reference) used in an expression, and then a dot follows,
then pass the actual method name of the method called via idispatch to
the interface in the variant.

It's like
  i: IUnknown;
  v: Variant;

  i := mooo;
  v := i;
  v.Bla; <--- magical auto-"cast" to IDispatch and passing 'Bla' to be
called to "Invoke"

----
HRESULT Invoke( 
  DISPID  dispIdMember,      
  REFIID  riid,              
  LCID  lcid,                
  WORD  wFlags,              
  DISPPARAMS FAR*  pDispParams,  
  VARIANT FAR*  pVarResult,  
  EXCEPINFO FAR*  pExcepInfo,  
  unsigned int FAR*  puArgErr  
);
Use GetIDsOfNames or the object's documentation to obtain the dispatch
identifier.
---

Pretty sure I'm missing something (like for example what the dispids and
'dispatch interfaces' are for and such), and it makes no sense if we
dont have an user who uses IDispatch (since it then cant be really
tested, plus, on linux - where I am -, there are close to no apps that
support that IDispatch interface at all). Someone please fill in the
gaps.
(Plus, I hated IDispatch when I was using delphi. Very good for
variant-based runtime-only errors, hard to track down.)

> explain about this issue? Because I still failed to compile my D7 codes under 
> FPC 2.0. It's an D7 codes utilizing dbExpress components.

Hmm, well, more info please :)

> 
> -Bee-
> 
> has Bee.ography at:
> http://beeography.modblog.com

cheers,
   Danny

 
www.keyserver.net key id A334AEA6

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20050527/4de9e753/attachment.sig>


More information about the fpc-devel mailing list