| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- { Source provided for Free Pascal Bug Report 2185 }
- { Submitted by "Andrew Johnson" on 2002-10-16 }
- { e-mail: [email protected] }
- Program BugTest;
- {$Mode ObjFPC}{$H+}
- {off $Define InvertOrder}
- Uses Classes;
- Type
- TMyClass = Class(TPersistent)
- public
- dummy : Longint;
- {$IfNDef InvertOrder}
- procedure Assign(Source : TPersistent); override;
- procedure Assign(const value: integer);
- {$Else InvertOrder}
- procedure Assign(const value: integer);
- procedure Assign(Source : TPersistent); override;
- {$EndIf InvertOrder}
- Constructor Create;
- end;
- procedure TMyClass.Assign(Source : TPersistent);
- begin
- If Source is TMyClass then
- Dummy := TMyClass(Source).dummy;
- end;
- procedure TMyClass.Assign(const value: integer);
- begin
- Dummy := value;
- end;
- Constructor TMyClass.Create;
- begin
- Inherited Create;
- end;
- Const
- ConstDummy : Integer = 3;
- var
- Test1, Test2 : TMyClass;
- begin
- Test1 := TMyClass.Create;
- Test2 := TMyClass.Create;
- Test1.Dummy := 2;
- Test2.Dummy := 1;
- Writeln(Test2.Dummy);
- Test2.Assign(Test1);
- Writeln(Test2.Dummy);
- Test2.Assign(ConstDummy);
- Writeln(Test2.Dummy);
- Test1.Destroy;
- Test2.Destroy;
- end.
|