On 28.02.2014 19:59, Marcos Douglas wrote:
On Fri, Feb 28, 2014 at 3:47 PM, Mattias Gaertner
<nc-gaert...@netcologne.de> wrote:

On Fri, 28 Feb 2014 15:29:03 -0300
Marcos Douglas <m...@delfire.net> wrote:

[...]
These properties are defined in Process unit. My class is in myprocess unit
(or something like that).
The problem is: I can not use the enums values because they don't exists in
my unit (myprocess) but if these enums were defined inside TProcess class
(public type), I can use them without problem.

So, what do you think about it?

Enums are always public and global.
For example:

   TMyClass = class
   private
     type
       MyEnums = (enum1, enum2);
   public
     e: MyEnums;
   end;

enum1 can be used in other units.

But that's what I'm talking about!  :)

So if the  TProcessOptions, TProcessPriority and TStartupOptions was
declared as a type inside TProcess I do not needed to import (uses)
two units (follow the example: process and myprocess) in a third unit.

I propose "migrate" these enums from units to be member of classes.

Sidenote: What you propose would work only if {$scopedenums on} is used in the unit which defines the enums and in that case you'd have the problem with backwards compatibility.

Regards,
Sven
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to