E2009 Incompatible types: 'method pointer and regular
Ik krijg deze melding: [dcc32 Error] M3U2STRM.dpr(60): E2009 Incompatible types: 'method pointer and regular procedure', mijn code:
Delphi Code:
program M3U2STRM;
uses
Windows,
SysUtils,
Vcl.Forms,
untMain in '..\units\untMain.pas' {frmMain},
untXCReloaded in '..\units\untXCReloaded.pas';
{$R *.res}
// Connection changed
procedure APIConnectChange(Sender: TObject; Connected: Boolean);
begin
if Connected then
begin
// Load movies
// Load series
// Create strm files
end;
end;
// Connection error
procedure APIConnectError(Sender: TObject; Error: TXCConnectErrorType; ErrorMsg: string);
var
S : string;
begin
case Error of
cetHTTP : S := Format('HTTP Error: %s', [ErrorMsg]);
cetParser : S := Format('Parser Error: %s', [ErrorMsg]);
cetAuthZero : S := 'Please check your username and password. This account seems to be blocked or inactive!';
end;
end;
// Request error
procedure APIRequestError(Sender: TObject; Error: TXCRequestErrorType; ErrorMsg: string);
var
S : string;
begin
case Error of
retHTTP : S := Format('HTTP Error: %s', [ErrorMsg]);
retParser : S := Format('Parser Error: %s', [ErrorMsg]);
retOther : S := Format('Error: %s', [ErrorMsg]);
else
S := 'Unknown error. Please contact your provider.';
end;
end;
var
API: TXCReloadedAPI;
begin
if (ParamCount > 1) then
begin
API := TXCReloadedAPI.Create;
API.OnConnectChange := APIConnectChange;
API.OnConnectError := APIConnectError;
API.OnRequestError := APIRequestError;
end else
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.Title := 'M3U 2 STRM';
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
end;
end.
Ik wil dus dat de applicatie start met een form als deze gewoon gestart wordt, en als deze vanuit de taakplanner gestart wordt met extra command-line parameters, dat hij de TXCReloadedAPI aanmaakt en daarop verder werkt. Nu op zich gaat dat prima; maar ik krijg de melding omdat de procedures hierboven geen procedure of object zijn.
Moet ik nu een class maken waarin ik die procedures zet? Of kan ik beter in de TXCReloadedAPI class gewoon in plaats van events te gebruiken daar direct de code plaatsen die ik anders in de events zou gebruiken?