I got it solved as follows:
TBaseDataLink = class(TPersistent)
private
protected
procedure RetrieveData; virtual; abstract;
TSimpleDataLink = class(TBaseDataLink)
public
procedure RetrieveData; override;
Discovered I had an "inherited;" in TSimpleDataLink.RetrieveData. Removed that (Doh!). That solved the Abstract Error problem. As for the project not compiling with a ASimpleDataLinkComponentOnForm.RetrieveData; I added the source of the component to the project search path and all is well. Not sure why I had to update the path though.
At 13:08 24/08/2001 +0700, you wrote:
does the TSimpleDataLink.RetrieveData declarationRetrieveData? (Sorry - have to ask <g> ).Yes.....
(Wonders what stooopid thing he has missed....)
have the "override" keyword?
If it doesn't - it's hiding the abstract one but
not overriding it. (I get nailed by this when
I case ... i mean switch from C++)
(not sure that would cause the problem you
describe though).
-ns
----------------------------------------------------------------------
Donovan J. Edye [www.edye.wattle.id.au]
Namadgi Systems [www.namsys.com.au]
Voice: +61 2 6285-3460
Fax: +61 2 6285-3459
TVisualBasic = Class(None);
Heard just before the 'Big Bang': "...Uh Oh...."
----------------------------------------------------------------------
GXExplorer [http://www.gxexplorer.org] Freeware Windows Explorer
replacement. Also includes freeware delphi windows explorer components.
----------------------------------------------------------------------