[fpc-pascal] Classes with abstract methods

Michael Van Canneyt michael at freepascal.org
Mon Jan 14 10:53:53 CET 2008



On Mon, 14 Jan 2008, Damien Gerard wrote:

> 
> On Jan 14, 2008, at 10:27 AM, Michael Van Canneyt wrote:
> 
> >
> >
> >On Mon, 14 Jan 2008, Damien Gerard wrote:
> >
> > >
> > >With fpc you can get "myfile.pas(77,47) Warning: Constructing a class
> > >"xxxx"
> > >with abstract methods"
> > >I just would like to know why it is allowed to build classes with abstract
> > >methods. AFIK it is different from other compilers and it is a bit strange
> > >for
> > >me.
> >
> >Delphi gives exactly the same warning.
> 
> I don't remember that.

D:\Temp>dcc32 unit1
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
Unit1.pas(32) Warning: Constructing instance of 'TStrings' containing abstract method 'TStrings.Clear'
Unit1.pas(32) Warning: Constructing instance of 'TStrings' containing abstract method 'TStrings.Delete'
Unit1.pas(32) Warning: Constructing instance of 'TStrings' containing abstract method 'TStrings.Insert'
Unit1.pas(32) Hint: Value assigned to 'T' never used
Unit1.pas(36)
37 lines, 0.11 seconds, 475 bytes code, 8 bytes data.

> 
> >It is allowed to create such instances: as long as you don't call any of the
> >abstract methods, there will be no problem.
> 
> 
> Is there a way to abort the compilation in this cases instead of a warning ?

Currently not.

Michael.



More information about the fpc-pascal mailing list