I stepped through your code and it *DEFINITELY* calls TMetadata.Create.
What you have done looks correct and this is certainly not a polymorphism
pproblem. Few suggestions:
1. Check that you do not have $(DELPHI)\Lib in your project path - it
should only be in the global library path.
2. What if you replaced your code with:
NGraphic := TMetadata.Create;
Step through the code - does it call TMetadata.Create?
3. Check the class type of NGraphic and compare Pointer(NGraphic.ClassType)
against Pointer(TMetadata). Are they the same pointer values?
What version of Delphi are you using?
Dennis.
----- Original Message -----
From: Jianming Lin (ASL)
To: Multiple recipients of list delphi
Sent: Thursday, October 17, 2002 4:35 PM
Subject: [DUG]: polymorphism problem
G'Day, guys,
procedure TryMetadata(ImgType : Integer);
var NGraphic: TGraphic;
GraphicClass: TGraphicClass;
begin
ImgType := 1;
case ImgType of
1 : GraphicClass := TMetaFile;
2 : GraphicClass := TBitmap;
end;
NGraphic := GraphicClass.Create;
end;
Why constructor of TMetafile.Create is not called instead only
TObject.Create is called?
[Jianming Lin (ASL)]
This e-mail message has been scanned for Viruses and Content and cleared by
MailMarshal - For more information please visit www.marshalsoftware.com
---------------------------------------------------------------------------
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/