![]() |
Problem bei TJclTaskTrigger
Hallo,
ich möchte mir gerade einen Scheduler basteln und dazu die Aufgabenplanung von Windows nutzen. Darauf zugreifen möchte ich mit der JCL-Komponente: TJclTaskSchedule; Aktuell sieht das so aus:
Delphi-Quellcode:
In der markierten Zeile kommt eben eine Zugriffsverletzung und ich weis nicht warum.
var
t : TJclTaskTrigger; tlist : TJclTaskTriggers; LTask : TJclScheduledTask; begin FSchedule := TJclTaskSchedule.Create; LTask := FSchedule.Add('Scheduletest'); tlist := TJclTaskTriggers.Create(LTask); t := tlist.Add; with t.Trigger do //Zugriffsverletzung bei Adresse 0 begin wBeginYear:=2008; wBeginMonth:=7; wBeginDay:=30; wStartHour:=8; wStartMinute:=30; wEndYear:=2008; wEndMonth:=7; wEndDay:=31; Type_.Daily.DaysInterval:=1; TriggerType:=TASK_TIME_TRIGGER_DAILY; end; with LTask do begin ApplicationName:='C:\Programme\Programm.exe'; WorkingDirectory:='C:\Programme\'; AccountName:='Benutzer'; Password:='Passwort'; Save; end; t ist nicht nil, wird ja ne Zeile drüber erst erzeugt und Trigger ist ne Property die über ne Getter Methode ein Record holt. |
Re: Problem bei TJclTaskTrigger
Ich weiß nicht, ob das jetzt die Ursache ist, aber ich würde tlist mal umbenennen, es gibt ja bereits eine gleichnamige Klasse.
|
Re: Problem bei TJclTaskTrigger
ok habs umbenannt in xList aber der Fehler kommt trotzdem noch
|
Re: Problem bei TJclTaskTrigger
Und wenn Du mal versuchst, auf andere Properties des Triggers zuzugreifen? Syntaktisch scheint der Code jedenfalls korrekt zu sein, hab aber den Jedi-Source nicht hier und kann daher nicht nachsehen.
|
Re: Problem bei TJclTaskTrigger
ShowMessage(t.DisplayName);
Also das funzt Allerdings wenn ich ShowMessage(t.TriggerString); aufrufe kommt auch die Zugriffsverletzung.. Ich denke es liegt irgendwie am erzeugen der Triggers. Ich erzeuge ja ne eigene Triggerliste, weil in der TJclScheduledTask keine Methoden sind um Trigger hinzuzufügen. Vllt überseh ich da was *such *nix find :| |
Re: Problem bei TJclTaskTrigger
ok, wenn ich beim debuggen mit der Maus über
t.Trigger fahre kommt da als Hint "Die aufzurufende Funktion GetTrigger wurde vom Linker entfernt." Edit: Komisch auch wenn ich die Optimierung ausschalte kommt die Zugriffsverletzung |
Re: Problem bei TJclTaskTrigger
Möglicherweise denk ich grad voll falsch
Delphi-Quellcode:
Trigger ist ein Property vom Typ TTaskTrigger, evtl. liegts daran, vlt. solltest du ne extra Variable deklarieren und es mit der versuchen, nur als Idee.
with t.Trigger do
|
Re: Problem bei TJclTaskTrigger
hab ich auch schon probiert, kommt aber der gleiche Fehler
Delphi-Quellcode:
t:=xlist.Add;
tt:=t.Trigger;//Hier |
Re: Problem bei TJclTaskTrigger
Hast Du denn T.Trigger schon etwas zugewiesen?
|
Re: Problem bei TJclTaskTrigger
So sieht das aktuell aus:
Delphi-Quellcode:
Die eine Zeile war mal auskommentiert, das ist dass was alzaimar wissen möchte denke ich.
t:=xlist.Add;
tt:=t.Trigger;//Diese Zeile war mal auskommentiert with tt do begin wBeginYear:=2008; wBeginMonth:=7; wBeginDay:=30; wStartHour:=8; wStartMinute:=30; wEndYear:=2008; wEndMonth:=7; wEndDay:=31; Type_.Daily.DaysInterval:=1; TriggerType:=TASK_TIME_TRIGGER_DAILY; end; t.Trigger:=tt; Also es funtkioniert beides nicht. und bevor ihr fragt: TTasktrigger ist ein Record und muss daher nicht erzeugt werden ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz