verzögerte Autostart einer App ?

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

verzögerte Autostart einer App ?

Beitrag von AUGE_OHR »

hi,

ich habe eine LNK zu einer Xbase++ App in Autostart.
die App überwacht den Zugriff auf Laufwerke insbesondere USB-Stick.

wenn ich die App normal starte sind ja schon die Laufwerke/RAMdisk vorhanden und die App reagiert sofort auf neue Laufwerke.
wenn die App in Autostart liegt reagiert sie (scheinbar) nicht bei 1st Mal :angry4: danach aber wie gewohnt jedes mal.

vermutlich liegt das Problem an die RAMdisk die erst geladen/erstellt wird ... vor oder nach Autostart :?:
deshalb frage ich nach einer Möglichkeit die App "verzögert" zu starten aber das ist scheinbar nur mit einem Dienst (Service) möglich :?:
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: verzögerte Autostart einer App ?

Beitrag von Tom »

Hallo, Jimmy.

Du hast doch in der Anwendung selbst die Hoheit darüber, was sie wann macht. Wenn Du also gleich am Anfang der Main() schlicht ein kleines Weilchen wartest, dann müsste das den gleichen Effekt haben als wenn die Anwendung verzögert starten würde, oder? Und wenn Du weißt, worauf genau Du wartest, ist es noch einfacher.
Herzlich,
Tom
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: verzögerte Autostart einer App ?

Beitrag von Martin Altmann »

Oder man ruft Sie mit der Anzahl als Sekunden, die gewartet werden sollen, als Parameter auf.
Kein Parameter, keine Wartezeit.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16502
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Re: verzögerte Autostart einer App ?

Beitrag von Martin Altmann »

Oder Du baust Dir eine .BAT-/.CMD-Datei, die die zu startenden Anwendungen enthält und packst diese Datei in das Autostart.
Hat den Vorteil, dass Du die Reihenfolg beim Start vorgeben kannst und du kannst in der .BAT-/.CMD-Datei mit dem TIMEOUT-Kommando vor den jeweiligen Aufrufen arbeiten!

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: verzögerte Autostart einer App ?

Beitrag von AUGE_OHR »

moin,

ich habe das so modifiziert :

Code: Alles auswählen

   IF lDelay = .T.
      oDlg:oTb:Modify(NIL,11,"waiting for Delay")

      oThread := Thread():new()
      oThread:start( { || PostAppEvent( xbeSD_Delay,,,oDlg ) } )
      oThread:setStartTime( SECONDS() + (60*3) )
   ELSE
      PostAppEvent( xbeSD_Delay,,,oDlg )
   ENDIF
 
      DO CASE
         CASE nEvent == xbeSD_Delay
            IF lRunOnce = .F.
               lRunOnce := .T.
               delegated_eval( { || ot4xb_CreateGenericWindow(...) } )
               oDlg:oTb:Modify(NIL,3,"click on Icon for Menu")
            ENDIF
leider ändert es nichts an dem Autostart Problem :(

das ganze passiert in der Windows Queue und die CLASS starte ich mit delegated_eval() jetzt verzögert.
hab eine Anfrage an Pablo gestellt ob es da mit Autostart ein Problem geben könnte.

im Grund will ich die Verzögerung gar nicht denn das Tool soll ja sofort greifen.
ich werde mir was anderes überlegen ... (.BAT-/.CMD-Datei)
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: verzögerte Autostart einer App ?

Beitrag von AUGE_OHR »

so funktioniert es unter Windows 7 aber nicht unter Windows 10 [-X

Code: Alles auswählen

      oThread:start( { || PostAppEvent( xbeSD_Delay,,,oDlg ) } )
      oThread:setStartTime( SECONDS() + (60*1) )
wenn man es so schreibt ist die Reihenfolge richtig

Code: Alles auswählen

      oThread:setStartTime( SECONDS() + (60*1) )
      oThread:start( { || PostAppEvent( xbeSD_Delay,,,oDlg ) } )
natürlich muss o:setStartTime() vor o:Start() sein
---

habe aus dem USB Teil der CLASS MyVolHandler ein Demo gemacht und das funktioniert mit Autostart.
ARRIVE.ZIP
Demo full source
need ot4xb
(1.91 KiB) 211-mal heruntergeladen
das ist es also auch nicht ...
gruss by OHR
Jimmy
Antworten