Re: [fpc-pascal] All methods vitrual ?

2023-10-16 Thread Sven Barth via fpc-pascal
Adriaan van Os via fpc-pascal schrieb am Mo., 16. Okt. 2023, 15:14: > > > That's absurd, there are many features in modes objfpc and macpas > > that don't compile with Delphi. > > > > > > That doesn't make it any less true. > > > > Also we won't add it anyway, so... 路‍♀️ > > Apperently,

Re: [fpc-pascal] All methods vitrual ?

2023-10-16 Thread Michael Van Canneyt via fpc-pascal
On Mon, 16 Oct 2023, Adriaan van Os via fpc-pascal wrote: That's absurd, there are many features in modes objfpc and macpas that don't compile with Delphi. That doesn't make it any less true. Also we won't add it anyway, so... 路‍♀️ Apperently, a sensible discussion, based on

Re: [fpc-pascal] All methods vitrual ?

2023-10-16 Thread Adriaan van Os via fpc-pascal
That's absurd, there are many features in modes objfpc and macpas that don't compile with Delphi. That doesn't make it any less true. Also we won't add it anyway, so... 路‍♀️ Apperently, a sensible discussion, based on logical arguments, instead of dogma, is impossible. Adriaan

Re: [fpc-pascal] All methods vitrual ?

2023-10-15 Thread Sven Barth via fpc-pascal
Adriaan van Os via fpc-pascal schrieb am So., 15. Okt. 2023, 08:54: > Sven Barth via fpc-pascal wrote: > > There will be no new visibility specifiers for something like this. > > > > And yes, it affects compatibility, as that means that code using that > > feature couldn't be compiled with

Re: [fpc-pascal] All methods vitrual ?

2023-10-15 Thread Adriaan van Os via fpc-pascal
Sven Barth via fpc-pascal wrote: There will be no new visibility specifiers for something like this. And yes, it affects compatibility, as that means that code using that feature couldn't be compiled with Delphi and especially for library developers that might be an important point. That's

Re: [fpc-pascal] All methods vitrual ?

2023-10-14 Thread Sven Barth via fpc-pascal
Adriaan van Os via fpc-pascal schrieb am Fr., 13. Okt. 2023, 11:02: > Michael Van Canneyt via fpc-pascal wrote: > > > > > > On Wed, 11 Oct 2023, Adriaan van Os via fpc-pascal wrote: > > > >> Michael Van Canneyt via fpc-pascal wrote: > >> > >>> $M controls the inclusion of RTTI, i.e. it allows or

Re: [fpc-pascal] All methods vitrual ?

2023-10-13 Thread Adriaan van Os via fpc-pascal
Michael Van Canneyt via fpc-pascal wrote: On Wed, 11 Oct 2023, Adriaan van Os via fpc-pascal wrote: Michael Van Canneyt via fpc-pascal wrote: $M controls the inclusion of RTTI, i.e. it allows or disallows the use of the published section. No more, no less. I don't see any use in

Re: [fpc-pascal] All methods vitrual ?

2023-10-13 Thread Adriaan van Os via fpc-pascal
Martin Frb via fpc-pascal wrote: On 11/10/2023 16:46, Adriaan van Os via fpc-pascal wrote: I don't see any use in allowing or disallowing something. And with the current design, it is, as I said, impossible, without macros, to compile the same code with {$M+} and {$M-}. Use $IfOpt instead of

Re: [fpc-pascal] All methods vitrual ?

2023-10-11 Thread Martin Frb via fpc-pascal
On 11/10/2023 16:46, Adriaan van Os via fpc-pascal wrote: I don't see any use in allowing or disallowing something. And with the current design, it is, as I said, impossible, without macros, to compile the same code with {$M+} and {$M-}. Use $IfOpt instead of macros? {$IfOpt M+} published

Re: [fpc-pascal] All methods vitrual ?

2023-10-11 Thread Michael Van Canneyt via fpc-pascal
On Wed, 11 Oct 2023, Adriaan van Os via fpc-pascal wrote: Michael Van Canneyt via fpc-pascal wrote: $M controls the inclusion of RTTI, i.e. it allows or disallows the use of the published section. No more, no less. I don't see any use in allowing or disallowing something. And with the

Re: [fpc-pascal] All methods vitrual ?

2023-10-11 Thread Adriaan van Os via fpc-pascal
Michael Van Canneyt via fpc-pascal wrote: $M controls the inclusion of RTTI, i.e. it allows or disallows the use of the published section. No more, no less. I don't see any use in allowing or disallowing something. And with the current design, it is, as I said, impossible, without macros,

Re: [fpc-pascal] All methods vitrual ?

2023-10-11 Thread Michael Van Canneyt via fpc-pascal
On Wed, 11 Oct 2023, Adriaan van Os via fpc-pascal wrote: Sven Barth via fpc-pascal wrote: Ah, yes, only classes and interfaces can be used for published fields. For properties anything is allowed. However, what makes the whole thing unuseable is that with {$M-} the compiler doesn't

Re: [fpc-pascal] All methods vitrual ?

2023-10-11 Thread Adriaan van Os via fpc-pascal
Sven Barth via fpc-pascal wrote: Ah, yes, only classes and interfaces can be used for published fields. For properties anything is allowed. However, what makes the whole thing unuseable is that with {$M-} the compiler doesn't accept "published". So, without using macros, the same source

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Sven Barth via fpc-pascal
Adriaan van Os via fpc-pascal schrieb am Mi., 11. Okt. 2023, 06:25: > Sven Barth via fpc-pascal wrote: > > Am 10.10.2023 um 11:18 schrieb Adriaan van Os via fpc-pascal: > >> > >>> > >>> - In the released compiler, if you remove all visibility specifiers, > >>> you can > >>> get a list by

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Adriaan van Os via fpc-pascal
Sven Barth via fpc-pascal wrote: Am 10.10.2023 um 11:18 schrieb Adriaan van Os via fpc-pascal: - In the released compiler, if you remove all visibility specifiers, you can get a list by specifying {$M+} on your base object and then list all published methods using the RTTI. My

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Sven Barth via fpc-pascal
Am 10.10.2023 um 11:18 schrieb Adriaan van Os via fpc-pascal: - In the released compiler, if you remove all visibility specifiers, you can   get a list by specifying {$M+} on your base object and then list all   published methods using the RTTI. My understanding is that I have to

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Sven Barth via fpc-pascal
Am 10.10.2023 um 11:01 schrieb Adriaan van Os via fpc-pascal: Sven Barth via fpc-pascal wrote: No. Only those in the published section are part of the vMethodTable. And when compiled with $M+ the default visibility is changed from public to published. Also, I can get a list of the

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Sven Barth via fpc-pascal
Am 10.10.2023 um 02:04 schrieb Adriaan van Os via fpc-pascal: Sven Barth via fpc-pascal wrote: No. Only those in the published section are part of the vMethodTable. And when compiled with $M+ the default visibility is changed from public to published. OK, but that means that by explicitely

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Adriaan van Os via fpc-pascal
Hairy Pixels via fpc-pascal wrote: On Oct 10, 2023, at 4:18 PM, Adriaan van Os via fpc-pascal wrote: Interesting ! If I am correct, the docs referred to at say ; visibility-clause: ; METHODS|PROPERTIES|FIELDS

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Hairy Pixels via fpc-pascal
> On Oct 10, 2023, at 4:18 PM, Adriaan van Os via fpc-pascal > wrote: > > Interesting ! If I am correct, the docs referred to at > say > > ; visibility-clause: > ; METHODS|PROPERTIES|FIELDS (visibility-expression) > > Does that

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Adriaan van Os via fpc-pascal
Michael Van Canneyt via fpc-pascal wrote: On Mon, 9 Oct 2023, Adriaan van Os via fpc-pascal wrote: Is there a trick to make (in mode macpas) all class methods implicitely virtual ? I mean, without adding the virtual keyword to all of them ? The reason is that I want to create a tree view of

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Adriaan van Os via fpc-pascal
Sven Barth via fpc-pascal wrote: No. Only those in the published section are part of the vMethodTable. And when compiled with $M+ the default visibility is changed from public to published. Also, I can get a list of the interfaces inherited from by a class, by looking at the vIntfTable of

Re: [fpc-pascal] All methods vitrual ?

2023-10-10 Thread Michael Van Canneyt via fpc-pascal
On Mon, 9 Oct 2023, Adriaan van Os via fpc-pascal wrote: Is there a trick to make (in mode macpas) all class methods implicitely virtual ? I mean, without adding the virtual keyword to all of them ? The reason is that I want to create a tree view of the class hierarchy with all the method

Re: [fpc-pascal] All methods vitrual ?

2023-10-09 Thread Adriaan van Os via fpc-pascal
Sven Barth via fpc-pascal wrote: No. Only those in the published section are part of the vMethodTable. And when compiled with $M+ the default visibility is changed from public to published. OK, but that means that by explicitely specifying public/private/protected for fields and published

Re: [fpc-pascal] All methods vitrual ?

2023-10-09 Thread Sven Barth via fpc-pascal
Adriaan van Os via fpc-pascal schrieb am Mo., 9. Okt. 2023, 15:44: > > Is there a trick to make (in mode macpas) all class methods implicitely > virtual ? I mean, without > > adding the virtual keyword to all of them ? The reason is that I want to > create a tree view of the > > class hierarchy

Re: [fpc-pascal] All methods vitrual ?

2023-10-09 Thread Sven Barth via fpc-pascal
Adriaan van Os via fpc-pascal schrieb am Mo., 9. Okt. 2023, 14:29: > Is there a trick to make (in mode macpas) all class methods implicitely > virtual ? I mean, without > adding the virtual keyword to all of them ? The reason is that I want to > create a tree view of the > class hierarchy with

[fpc-pascal] All methods vitrual ?

2023-10-09 Thread Adriaan van Os via fpc-pascal
Is there a trick to make (in mode macpas) all class methods implicitely virtual ? I mean, without adding the virtual keyword to all of them ? The reason is that I want to create a tree view of the class hierarchy with all the method names (not just those that are normally in the VMT because they

[fpc-pascal] All methods vitrual ?

2023-10-09 Thread Adriaan van Os via fpc-pascal
Is there a trick to make (in mode macpas) all class methods implicitely virtual ? I mean, without adding the virtual keyword to all of them ? The reason is that I want to create a tree view of the class hierarchy with all the method names (not just those that are normally in the VMT because they