AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei TJclTaskTrigger

Ein Thema von Angel4585 · begonnen am 30. Jul 2008 · letzter Beitrag vom 7. Sep 2008
Antwort Antwort
Seite 2 von 2     12   
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#11

Re: Problem bei TJclTaskTrigger

  Alt 30. Jul 2008, 14:35
Zitat von Angel4585:
und bevor ihr fragt: TTasktrigger ist ein Record und muss daher nicht erzeugt werden
Ach, und wieso ist das dann nil?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#12

Re: Problem bei TJclTaskTrigger

  Alt 30. Jul 2008, 14:47
TTaskTrigger ist ein record. Dieses wird über eine Getter Methode geladen:

In MSTask:
Delphi-Quellcode:

type
{$EXTERNALSYM _TASK_TRIGGER}
  _TASK_TRIGGER = record // SP: removed packed record statement as seemed to affect SetTrigger
    cbTriggerSize: WORD; // Structure size.
    Reserved1: WORD; // Reserved. Must be zero.
    wBeginYear: WORD; // Trigger beginning date year.
    wBeginMonth: WORD; // Trigger beginning date month.
    wBeginDay: WORD; // Trigger beginning date day.
    wEndYear: WORD; // Optional trigger ending date year.
    wEndMonth: WORD; // Optional trigger ending date month.
    wEndDay: WORD; // Optional trigger ending date day.
    wStartHour: WORD; // Run bracket start time hour.
    wStartMinute: WORD; // Run bracket start time minute.
    MinutesDuration: DWORD; // Duration of run bracket.
    MinutesInterval: DWORD; // Run bracket repetition interval.
    rgFlags: DWORD; // Trigger flags.
    TriggerType: TASK_TRIGGER_TYPE; // Trigger type.
    Type_: TRIGGER_TYPE_UNION; // Trigger data.
    Reserved2: WORD; // Reserved. Must be zero.
    wRandomMinutesInterval: WORD; // Maximum number of random minutes
                                   // after start time.

  end;
{$EXTERNALSYM TASK_TRIGGER}
  TASK_TRIGGER = _TASK_TRIGGER;
  TTaskTrigger = _TASK_TRIGGER;
In JclTask:
Delphi-Quellcode:
  TJclTaskTrigger = class(TCollectionItem)
  private
    FTaskTrigger: ITaskTrigger;
    procedure SetTaskTrigger(const Value: ITaskTrigger);
    function GetTrigger: TTaskTrigger;
    procedure SetTrigger(const Value: TTaskTrigger);
    function GetTriggerString: WideString;
  public
    property TaskTrigger: ITaskTrigger read FTaskTrigger;
    property Trigger: TTaskTrigger read GetTrigger write SetTrigger;
    property TriggerString: WideString read GetTriggerString;
  end;
Delphi sagt mir aber das die GetTrigger Methode vom Linker entfernt wurde, obwohl ich die Optimierung ausgeschaltet habe(!)
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: Problem bei TJclTaskTrigger

  Alt 30. Jul 2008, 14:51
Wie sieht GetTrigger aus? Irgendwoher muss das 'Nil' ja kommen...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Problem bei TJclTaskTrigger

  Alt 30. Jul 2008, 14:56
Delphi-Quellcode:
function TJclTaskTrigger.GetTrigger: TTaskTrigger;
begin
  Result.cbTriggerSize := SizeOf(Result);
  OleCheck(TaskTrigger.GetTrigger(Result));
end;
tasktrigger ist ein Interface vllt arbeitet das nichtnkorrekt.. ich probier das ganze mal auf Win XP, bin hier auf Vista..
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Problem bei TJclTaskTrigger

  Alt 31. Jul 2008, 07:13
OK, habs getestet, aber auf Windows XP kommt der gleiche Fehler
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
frank-wob

Registriert seit: 26. Jul 2005
Ort: Wolfsburg
9 Beiträge
 
Delphi 7 Professional
 
#16

Re: Problem bei TJclTaskTrigger

  Alt 31. Jul 2008, 08:46
Hallo,

versuchs mal so:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var
   myTask:TJclTaskSchedule;
   ATask:TJclScheduledTask;
   piNewTrigger:Word;
   ppTrigger:ITaskTrigger;
   pTrigger:_TASK_TRIGGER;
   myYear:Word;
   myMonth:Word;
   myDay:Word;
   myTriggerTypeUnion:TRIGGER_TYPE_UNION;
   myWeekly:TWeekly;
begin
     myTask:=TJclTaskSchedule.Create;
     ATask:=myTask.Add('Test Task');

     ATask.ApplicationName:='C:\Windows\notepad.exe';
     ATask.WorkingDirectory:='C:\windows\';
     //ATask.AccountName:='';
     //ATask.Password:='';
     ATask.ScheduledWorkItem.CreateTrigger(piNewTrigger,ppTrigger);

     DecodeDate(Now,myYear,myMonth,myDay);

     ZeroMemory(@pTrigger, sizeof(TASK_TRIGGER));
     pTrigger.cbTriggerSize:=sizeof(TASK_TRIGGER);;
     pTrigger.Reserved1:=0;
     pTrigger.wBeginYear:=myYear;
     pTrigger.wBeginMonth:=myMonth;
     pTrigger.wBeginDay:=myDay;
     pTrigger.wEndYear:=0;
     pTrigger.wEndMonth:=0;
     pTrigger.wEndDay:=0;
     pTrigger.wStartHour:=10;
     pTrigger.wStartMinute:=00;
     pTrigger.MinutesDuration := 0;
     pTrigger.MinutesInterval := 0;
     pTrigger.rgFlags := 0;
     pTrigger.TriggerType:= TASK_TIME_TRIGGER_DAILY;
     MyWeekly.WeeksInterval:=1;
     MyWeekly.rgfDaysOfTheWeek:= TASK_SUNDAY +
                                 TASK_MONDAY +
                                 TASK_TUESDAY +
                                 TASK_WEDNESDAY +
                                 TASK_THURSDAY +
                                 TASK_FRIDAY +
                                 TASK_SATURDAY;
     MyTriggerTypeUnion.Weekly:=MyWeekly;
     pTrigger.Type_:= MyTriggerTypeUnion;
     pTrigger.Reserved2:=0;
     pTrigger.wRandomMinutesInterval := 0;

     ppTrigger.SetTrigger(pTrigger);

     ATask.Save;

     FreeAndNil(myTask);
end;
Gruß Frank
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#17

Re: Problem bei TJclTaskTrigger

  Alt 31. Jul 2008, 08:57
Cool frank-wob, das bringt zumindest schonmal keine Fehlermeldung.

Allerdings wird weder das Programm, noch der Trigger in der Aufgabenplanung angezeigt

Edit: Unter XP gehts, unter Vista nicht
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#18

Re: Problem bei TJclTaskTrigger

  Alt 31. Jul 2008, 09:46
Ach mist und als normaler Benutzer kann man garkeine Tasks anlegen
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
waldforest

Registriert seit: 8. Mai 2005
366 Beiträge
 
Delphi XE3 Enterprise
 
#19

Re: Problem bei TJclTaskTrigger

  Alt 7. Sep 2008, 15:32
Hallo,
dennoch eine Frage,
mit welchem Flag, Parameter kann ich denn die Checkbox "nur Ausführen wenn angemeldet".setzten


Wenn ich den Task manuell anlege startet er sobal die Checkbox gesetzt ist,

mfg
waldforest
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz