AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Probleme auf neuem Rechner

Ein Thema von Rawsche · begonnen am 26. Jul 2019 · letzter Beitrag vom 27. Jul 2019
Antwort Antwort
Seite 1 von 3  1 23   
Rawsche

Registriert seit: 18. Jul 2018
16 Beiträge
 
#1

Probleme auf neuem Rechner

  Alt 26. Jul 2019, 12:28
Hallo zusammen,
ich habe mir vor kurzen einen neuen PC gekauft.
Alter PC: Windows 10 Home
Neuer PC: Windows 10 Pro

Ich programmiere nun also auf dem neuen PC und arbeite weiter an einem Programm, was bereits auf dem alten PC fehlerfrei lief.
Nun ergibt sich aber auf dem neuen PC ein mir völlig unversätndliches Problem.

Mein Programm soll sich unter gewissen Umständen neu starten lassen. Dafür verwendete ich bisher immer folgenden Code:
Code:
form1.close;
ShellExecute(Handle, 'open',PChar(Application.ExeName), nil, nil, 0);
Wenn ich nun aber einen Neustart durchführen will, dann passiert (nur auf meinem neuen PC, trotz des selben Codes) einfach nichts. Keine Fehlermeldung, keine Reaktion, einfach überhaupt nichts. Auf meinem alten Rechner funktioniert der Neustart immer noch problemlos.

Kann mir einer von euch erklären, wie das passieren kann? Wie kann ich das Problem beheben?

Vielen Dank und LG
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.173 Beiträge
 
#2

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 12:44
Ich denke das ist pures Glück, dass es auf dem alten PC funktioniert.
Der neue macht meiner Meinung nach genau das was zu erwarten ist.

Du sagst deinem Programm es soll sich schließen und erst danach ruft es sich selber wieder auf.
Pures Glück wenn das mal klappt.

Einen Neustart realisiert man am besten anders aber nicht so.
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
669 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 12:48
Hallo zusammen,
ich habe mir vor kurzen einen neuen PC gekauft.
Alter PC: Windows 10 Home
Neuer PC: Windows 10 Pro

Ich programmiere nun also auf dem neuen PC und arbeite weiter an einem Programm, was bereits auf dem alten PC fehlerfrei lief.
Nun ergibt sich aber auf dem neuen PC ein mir völlig unversätndliches Problem.

Mein Programm soll sich unter gewissen Umständen neu starten lassen. Dafür verwendete ich bisher immer folgenden Code:
Code:
form1.close;
ShellExecute(Handle, 'open',PChar(Application.ExeName), nil, nil, 0);
Wenn ich nun aber einen Neustart durchführen will, dann passiert (nur auf meinem neuen PC, trotz des selben Codes) einfach nichts. Keine Fehlermeldung, keine Reaktion, einfach überhaupt nichts. Auf meinem alten Rechner funktioniert der Neustart immer noch problemlos.

Kann mir einer von euch erklären, wie das passieren kann? Wie kann ich das Problem beheben?

Vielen Dank und LG
Prüfe den Rückgabewert von ShellExecute!
Peter Below
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.752 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 12:49
.. mormalerweise hat man für diese Art von Problemen einen Watcher Prozess.
Dieser überwacht das Programm und startet es bei Bedarf wieder neu.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.173 Beiträge
 
#5

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 12:49
Oder man ruft ShellExecute im FormDestroy auf. So spät wie möglich.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 14:12
Prüfe den Rückgabewert von ShellExecute!
Das wird er nicht mehr können, da der aufrufende Prozess beendet wurde.

Aber das was du da machst, ist in etwa so, also ob du erst dich erschießt und danach die Geisel erschießen willst. Ok, das war jetzt etwas makaber.

Davon abgesehen lässt sich so ein Programm nie sauber beenden, wenn es keine andere Möglichkeit gibt es zu beenden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
jsp

Registriert seit: 9. Aug 2003
50 Beiträge
 
#7

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 14:34
Le roi est mort, vive le roi

Sorry, es ist einfach zu heiss
  Mit Zitat antworten Zitat
Rawsche

Registriert seit: 18. Jul 2018
16 Beiträge
 
#8

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 14:48
Danke erstmal für eure Rückmeldung. Ich verstehe, dass ihr nicht zufrieden seid mit meiner Art den Neustart herbeizuführen. Ich werde mich da sicherlich auch nochmal intensiver mit beschäftigen. Mein Problem bleibt aber auch so bestehen:

Ich habe mal versucht ein anderes Programm per ShellExecute einfach aufzurufen ohne mein Programm zu schließen. Das sah so aus:
Code:
ShellExecute(Handle, 'open', PChar('C:\Datei.exe'), Nil, Nil, 1);
Die ausgewählte Datei funktionierte einwandfrei und lag auch am richtigen Ort mit dem richtigen Namen. Trotzdem passierte wieder nichts Sichtbares...

Vielleicht mache ich irgendetwas grundlegend falsch?!
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.173 Beiträge
 
#9

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 15:03
Zitat:
Danke erstmal für eure Rückmeldung. Ich verstehe, dass ihr nicht zufrieden seid mit meiner Art den Neustart herbeizuführen. Ich werde mich da sicherlich auch nochmal intensiver mit beschäftigen
Setz das Shellexecute ins FormDestroy und dann sollte alles funktionieren.
  Mit Zitat antworten Zitat
Rawsche

Registriert seit: 18. Jul 2018
16 Beiträge
 
#10

AW: Probleme auf neuem Rechner

  Alt 26. Jul 2019, 15:23
Zitat:
Danke erstmal für eure Rückmeldung. Ich verstehe, dass ihr nicht zufrieden seid mit meiner Art den Neustart herbeizuführen. Ich werde mich da sicherlich auch nochmal intensiver mit beschäftigen
Setz das Shellexecute ins FormDestroy und dann sollte alles funktionieren.
Habe es gerade versucht. Hat leider keinen Effekt. Das Programm startet trotzdem nicht.

Ich glaube aber, dass ich mittlerweile einen Grund gefunden haben könnte. Ich habe mir (wie von euch empfohlen) von ShellExecute den Rückgabewert anzeigen lassen...
Ergebnis: "The specified file was not found."

Da ich aber das File korrekt angegeben habe, war ich verwirrt.
Ich hab deshalb mal die .exe Datei in verschiedene Ordner gerückt und getestet.
Dabei hab ich folgendes herausgefunden. Wenn die .exe im Ordner oder Unterordner meines Benutzernamens liegt, dann kann sie nicht gefunden werden. Wenn ich sie tatsächlich einfach nur nach C:/ lege, dann kann sie gefunden werden.

Es hat also meiner Meinung nach etwas mit meinem Benutzernamen zu tun. Dieser hat leider ein Leerzeichen und ein Sonderzeichen in sich. Zwar nicht mein echter Name, aber in etwas sieht er so aus: "Max Müller".

Mit dem Problem habe ich schon einmal auf dem neuen Rechner gekämpft. Dort wurde nämlich die EnvironmentVariable APPDATA, nicht in "C:\Users\Max Müller\AppData\Roaming" sondern in "C:\Users\Max MǬller\AppData\Roaming" oder in "C:\Users\Max Müller\AppData\Roaming" aufgelöst. Diese Orte konnten natürlich dann nicht gefunden werden.
Gelöst habe ich das Problem damals, in dem ich die Zeichen "ü" und "Ǭ" manuell ersetzt habe.

Ich habe deshalb jetzt mal mein Programm mit dem Neustart nach C:/ geschoben. Der Neustart funktioniert nun wieder. Das kann aber ja keine echt Lösung sein, da das Programm ja von jedem Speicherort aus laufen können sollte...

Vielleicht helfen die Infos, damit mein Problem besser deutlich wird.
Was kann ich tun, um dieses Problem zu beheben?

Geändert von Rawsche (26. Jul 2019 um 15:28 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 13:33 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