Thats a good one to report via quality central. Small and easily reproducible.
-----Original Message----- From: Chris Milham [mailto:[EMAIL PROTECTED]] Sent: Wednesday, 2 October 2002 3:45 p.m. To: Multiple recipients of list delphi Subject: [DUG]: Class refs in classes Hi, I have been trying to make a hierarchical library of routines using class procs/funcs. However Delphi 5 doesn't like me doing this. What I have tried to do is as follows (hope this makes sense.. only important bits included): type Tmyclass1 = class class procedure DoIt; end; Tmyclass1class = class of Tmyclass1; Tmyclass2 = class class1:Tmyclass1class; end; procedure TForm1.Button1Click(Sender: TObject); begin Tmyclass1.doIt; // <- no probs with using a class proc // Tmyclass2.class1.doIt; // *** Delphi compiler doesn't like me doing this: accessing a class func through a ref to a class. end; class procedure Tmyclass1.DoIt; begin ShowMessage('Hello'); end; The error Delphi gives is: method identifier expected. I can understand this (yes, I've read the help on it) but why?? I have tried numerous ways of getting this to work but had to resort one option.... I can work around this by simply having a class proc in Tmyclass2 that returns a Tmyclass1 class. eg. Tmyclass2 = class class function class1:TmyClass1class; end; class function Tmyclass2.class1: TmyClass1class; begin Result := tmyclass1; end; Then I can happily use this syntax: 'Tmyclass2.class1.doIt;' This seems a not-too-nice way of doing what I want. Any suggestions? Or am I trying to make Delphi be another language? ;) The other thing is: Is Delphi's optimiser smart enough to convert my 'class1' function in Tmyclass2 into a static reference? ie. am I going to have a performance hit because of trying to do this hierarchical library thing? TIA, Chris --- Chris Milham Software Developer MedTech Software Ltd. Level M, 48 Market Place, Viaduct Basin, Auckland Ph. +649 3559666 Extn. 714, Fax +649 3774231 E-mail: [EMAIL PROTECTED] Web: http://www.medtech-software.com This e-mail and any attachments are intended only for the person to whom it is addressed and may contain privileged, proprietary, or other data protected from disclosure under applicable law. If you are not the addressee or the person responsible for delivering this to the addressee you are hereby notified that reading, copying or distributing this transmission is prohibited. If you have received this e-mail in error, please telephone us immediately and remove all copies of it from your system. Thank you for your co-operation. <<Chris Milham.vcf>> --------------------------------------------------------------------------- New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED] Website: http://www.delphi.org.nz To UnSub, send email to: [EMAIL PROTECTED] with body of "unsubscribe delphi" Web Archive at: http://www.mail-archive.com/delphi%40delphi.org.nz/