philippe_beauregard
asked on
can't compile demo from TaskScheduler.zip (www.delphi-jedi.org)
I downloaded TaskScheduler.zip (www.delphi-jedi.org). I loaded the TaskSchDemo.dpr project and tied to compile it. I got the following error when I try to compile the demo:
What am I doing wrong with the setup(I am using Delphi 7)?
[Error] main.pas(202): Constant object cannot be passed as var parameter
[Error] main.pas(890): Constant object cannot be passed as var parameter
[Error] main.pas(891): Constant object cannot be passed as var parameter
[Fatal Error] TaskSchDemo.dpr(10): Could not compile used unit 'main.pas'
197 function GetITask(TaskName: string): ITask;
198 var
199 PITask: IUnknown;
200 hr: HRESULT;
201 begin
202 hr := SchedulingAgent.Activate(S trToWide(T askName), IID_ITask, PITask);
203 if hr = S_OK then Result := ITask(PITask)
204 else
205 begin
206 ShowMessage('Error in SchedulingAgent.Activate.E rror Code :' + IntToHex(hr, 8));
207 Result := nil;
208 end;
209
210 end;
890 procedure TfrmMain.btnNewWorkItemCli ck(Sender: TObject);
890 var
890 HR: HRESULT;
890 TaskName: string;
890 WorkItem: IUnknown;
890
890 begin
890 TaskName := InputBox('Enter Task Name', 'Name?', '');
890 if TAskName = '' then
890 begin
890 ShowMessage('You have to enter a task name');
890 exit;
890 end;
890 Init;
890 HR := SchedulingAgent.NewWorkIte m(StrToWid e(TaskName ), CLSID_CTask,
890 IID_IScheduledWorkItem, WorkItem);
890 Task := ITask(WorkItem); //required for save
890 ScheduledWorkItem := IScheduledWorkItem(WorkIte m);
890 if HR = S_OK then StatusMemo.Lines.Add(Taskn ame + ' created successfully')
890 else
890 begin
890 StatusMemo.Lines.Add('Coul d not create the job ' + taskname + ' Error Code :' + IntTohex(hr, 8));
890 exit;
890 end;
890 hr := SaveTAsk;
890 if hr <> S_OK then StatusMemo.lines.add('Save task failed with error code' + IntTohex(hr, 8) + #13#10);
890 BtnGetTasksClick(self); //for updating
890 end;
What am I doing wrong with the setup(I am using Delphi 7)?
[Error] main.pas(202): Constant object cannot be passed as var parameter
[Error] main.pas(890): Constant object cannot be passed as var parameter
[Error] main.pas(891): Constant object cannot be passed as var parameter
[Fatal Error] TaskSchDemo.dpr(10): Could not compile used unit 'main.pas'
197 function GetITask(TaskName: string): ITask;
198 var
199 PITask: IUnknown;
200 hr: HRESULT;
201 begin
202 hr := SchedulingAgent.Activate(S
203 if hr = S_OK then Result := ITask(PITask)
204 else
205 begin
206 ShowMessage('Error in SchedulingAgent.Activate.E
207 Result := nil;
208 end;
209
210 end;
890 procedure TfrmMain.btnNewWorkItemCli
890 var
890 HR: HRESULT;
890 TaskName: string;
890 WorkItem: IUnknown;
890
890 begin
890 TaskName := InputBox('Enter Task Name', 'Name?', '');
890 if TAskName = '' then
890 begin
890 ShowMessage('You have to enter a task name');
890 exit;
890 end;
890 Init;
890 HR := SchedulingAgent.NewWorkIte
890 IID_IScheduledWorkItem, WorkItem);
890 Task := ITask(WorkItem); //required for save
890 ScheduledWorkItem := IScheduledWorkItem(WorkIte
890 if HR = S_OK then StatusMemo.Lines.Add(Taskn
890 else
890 begin
890 StatusMemo.Lines.Add('Coul
890 exit;
890 end;
890 hr := SaveTAsk;
890 if hr <> S_OK then StatusMemo.lines.add('Save
890 BtnGetTasksClick(self); //for updating
890 end;
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
pleased for having helped 'u' :)
ASKER
That's exactly what was needed.
-phil