verzögerte Autostart einer App ?
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
verzögerte Autostart einer App ?
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 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
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 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
Jimmy
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9361
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: verzögerte Autostart einer App ?
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.
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
Tom
- Martin Altmann
- Foren-Administrator
- Beiträge: 16514
- 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 ?
Oder man ruft Sie mit der Anzahl als Sekunden, die gewartet werden sollen, als Parameter auf.
Kein Parameter, keine Wartezeit.
Viele Grüße,
Martin
Kein Parameter, keine Wartezeit.
Viele Grüße,
Martin
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.
- Martin Altmann
- Foren-Administrator
- Beiträge: 16514
- 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 ?
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
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
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.
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: verzögerte Autostart einer App ?
moin,
ich habe das so modifiziert :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)
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
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
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: verzögerte Autostart einer App ?
so funktioniert es unter Windows 7 aber nicht unter Windows 10
wenn man es so schreibt ist die Reihenfolge richtignatürlich muss o:setStartTime() vor o:Start() sein
---
habe aus dem USB Teil der CLASS MyVolHandler ein Demo gemacht und das funktioniert mit Autostart. das ist es also auch nicht ...
Code: Alles auswählen
oThread:start( { || PostAppEvent( xbeSD_Delay,,,oDlg ) } )
oThread:setStartTime( SECONDS() + (60*1) )
Code: Alles auswählen
oThread:setStartTime( SECONDS() + (60*1) )
oThread:start( { || PostAppEvent( xbeSD_Delay,,,oDlg ) } )
---
habe aus dem USB Teil der CLASS MyVolHandler ein Demo gemacht und das funktioniert mit Autostart. das ist es also auch nicht ...
gruss by OHR
Jimmy
Jimmy