When porting a Kylix/Delphi project to FPC (version 1.9.0 Linux) I've encountered this small problem using class methods: When I pass an object instance as parameter in class methods I have a sigsev like in this example
program TestFail; uses SysUtils; Type TMyObject = Class private FNome: string; published Property Nome: string read FNome write FNome; end; TMyTestObject = class(TObject) public class function OutputParticularClass(AObj: TObject):string; end; var obj: TMyObject; class function TMyTestObject.OutputParticularClass(AObj: TObject): string; begin Result := AObj.ClassName; Writeln(Result); end; begin obj := TMyObject.Create; TMyTestObject.OutputParticularClass(obj); obj.Free; end. The above program compiles with no warnings in FPC, but at runtime it sigsevs. I've run this in Kylix/Delphi and works as expected. On the other hand I've seen that class methods work ok if the parameter passed are integers for example class function TMyTestObject.OutputNumber(aNumber: integer):string; begin Result := 'Number is ' + intToStr(aNumber); Writeln(Result); end; begin TMyTestObject.OutputNumber(12345); end. works ok in FPC Am I doing something wrong or is a bug I've found? Any ideas? Ciao, Dean _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal