Procedure variables cannot be passed an an untyped parameter (Delphi mode)
Original Reporter info from Mantis: smcilwain
-
Reporter name: Sean J McIlwain
Original Reporter info from Mantis: smcilwain
- Reporter name: Sean J McIlwain
Description:
The following code does not compiler with errors
bug2a.pas(38,1) Error: Wrong number of parameters specified for call to "&LtPos;Procedure Variable>"
bug2a.pas(38,1) Error: Wrong number of parameters specified for call to "&LtPos;Procedure Variable>"
This code compiles fine in delphi.
Additional information:
{$mode delphi}
unit bug2a;
interface
type
{ TMyObj }
TMyObj = class
procedure Proc(A1 : TObject; A2: Integer);
end;
type
TProc = procedure(AObject : TObject; A2: Integer) of object;
implementation
procedure foo(const AMethod1, AMethod2);
begin
end;
{ TMyObj }
procedure TMyObj.Proc(A1 : TObject; A2: Integer);
begin
end;
var X: TMyObj;
P1: TProc;
initialization
X := TMyObj.Create;
P1 := X.Proc;
foo(X.Proc, P1);
end.
Mantis conversion info:
- Mantis ID: 11861
- Version: 2.3.1
- Fixed in version: 2.2.4
- Fixed in revision: 12145 (#9f548a48)
- Monitored by: » smcilwain (Sean J McIlwain)
- Target version: 2.2.4