AGB  ·  Datenschutz  ·  Impressum  







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

TaskMgr Vista

Ein Thema von stOrM · begonnen am 24. Jan 2009 · letzter Beitrag vom 24. Jan 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#1

TaskMgr Vista

  Alt 24. Jan 2009, 08:37
Hallo,
ich wollte mal nachfragen, ob ggf. einer von euch mal versucht hat einen Task in Delphi 2009 unter Vista anzulegen?
Gestern hab ich mal dir TLB importiert und hab dann versucht, mit meinen nicht vorhandenen C Kenntnissen folgendes MSDN TimeTrigger Example nach Delphi umzubauen...

Leider wird mir beim Ausführen der letzten Zeile also:

Delphi-Quellcode:
IRegisteredTask *pRegisteredTask = NULL;
    hr = pRootFolder->RegisterTaskDefinition(
            _bstr_t( wszTaskName ),
            pTask,
            TASK_CREATE_OR_UPDATE,
            _variant_t(),
            _variant_t(),
            TASK_LOGON_INTERACTIVE_TOKEN,
            _variant_t(L""),
            &pRegisteredTask);
Immer die Fehlermeldung angezeigt: Der Parameter ist inkorekt ausgegeben.

Mein Umbau nach Delphi ist:

Delphi-Quellcode:
      // Unklar da RegisterTaskDefinition als ersten Param Path will und nicht TaskName wie im Beispiel!
      pRegisteredTask := pRootFolder.RegisterTaskDefinition(WideString('\'),
        pTaskDefinition,
        TASK_CREATE_OR_UPDATE,
        WideString(pszName),
        WideString(pszPwd),
        TASK_LOGON_INTERACTIVE_TOKEN_OR_PASSWORD,
        0);
Viele Grüße
Marc
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: TaskMgr Vista

  Alt 24. Jan 2009, 10:31
Der letzte Parameter müsste ein Zeiger auf einen Speicherbereich sein, weil dort die Funktion einen Rückgabewert reinschreibt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: TaskMgr Vista

  Alt 24. Jan 2009, 10:36
Zitat von Luckie:
Der letzte Parameter müsste ein Zeiger auf einen Speicherbereich sein, weil dort die Funktion einen Rückgabewert reinschreibt.
Hi Luckie,
also ich hab das schon sooft umgestrickt, dass ich glaube das das Beispiel ansich fehlerhaft ist?
Auch mit dem letzten Parameter hasts nicht funktioniert, Fehlermeldung bleibt gleich leider.

Gruß
Marc
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: TaskMgr Vista

  Alt 24. Jan 2009, 10:40
Zeig mal den zugehörigen C Quellcode mit der Deklaration der Variablen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: TaskMgr Vista

  Alt 24. Jan 2009, 10:42
Zitat von Luckie:
Zeig mal den zugehörigen C Quellcode mit der Deklaration der Variablen.
Also wie am Anfag der gesamte C Code ist hier zu finden:

TimeTrigger Example

ganz nach unten scrollen!
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#6

Re: TaskMgr Vista

  Alt 24. Jan 2009, 10:56
Mal ne blöde Frage: Ich zähl bei dem C-Beispiel 8 Parameter, bei dir nur 7. Wie kommt denn das zustande?
Jan
  Mit Zitat antworten Zitat
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: TaskMgr Vista

  Alt 24. Jan 2009, 11:02
Zitat von Mr_G:
Mal ne blöde Frage: Ich zähl bei dem C-Beispiel 8 Parameter, bei dir nur 7. Wie kommt denn das zustande?
Verdammt Gute Frage sogar!
Ich hab nur 7 zur Auswahl hier die da wäre:

Path
pDefinition
Flags
UserID
PassWord
LogOnType
sddl



Aus der TLB

Delphi-Quellcode:
    function RegisterTaskDefinition(const Path: WideString; const pDefinition: ITaskDefinition;
                                    flags: Integer; UserId: OleVariant; password: OleVariant;
                                    LogonType: _TASK_LOGON_TYPE; sddl: OleVariant): IRegisteredTask; safecall;
[edit=mkinzler]Aufgefrischt wegen Cache-Fehler Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#8

Re: TaskMgr Vista

  Alt 24. Jan 2009, 11:08
Hmm... Der letzte Parameter (ein out-Parameter) wird bei dir scheinbar als Result zurückgegeben. Nur wo kommt das eigentliche Return Value dann hin? Seltsam seltsam
Jan
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: TaskMgr Vista

  Alt 24. Jan 2009, 11:38
Das passt schon. Dazu ist die Delphi-spezifische Aufrufkonvention Safecall da. Sie bewirkt, dass das Ergebnis in Wirklichkeit in einem Out-Parameter zurückgegeben wird. Die Fehlerprüfung mit dem eigentlichen Rückgabewert HResult erfolgt automatisch - im Fehlerfalle wird die Routine SafeCallErrorProc aufgerufen, was eine Exception auslöst, falls ComObj oder SysUtils eingebunden ist.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
436 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: TaskMgr Vista

  Alt 24. Jan 2009, 11:49
Zitat von Apollonius:
Das passt schon. Dazu ist die Delphi-spezifische Aufrufkonvention Safecall da. Sie bewirkt, dass das Ergebnis in Wirklichkeit in einem Out-Parameter zurückgegeben wird. Die Fehlerprüfung mit dem eigentlichen Rückgabewert HResult erfolgt automatisch - im Fehlerfalle wird die Routine SafeCallErrorProc aufgerufen, was eine Exception auslöst, falls ComObj oder SysUtils eingebunden ist.
Gut zu wissen!
Gleich dreh ich durch!

Ok langer Kampf aber nun hab ichs endlich!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:05 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