Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Fremdes Programm beenden - Handle anhand Filename ermitteln (https://www.delphipraxis.net/155242-fremdes-programm-beenden-handle-anhand-filename-ermitteln.html)

Ines 15. Okt 2010 07:01

AW: Fremdes Programm beenden - Handle anhand Filename ermitteln
 
Guten Morgen!

Nochmals zu meinem Problem - das ich hoffentlich jetzt gelöst habe.

Der Arzt kann sich via FTP alle Files eines Patienten lokal auf seinen PC laden. Er hat dann die Möglichkeit, sich diese Files mit ShellExecuteEx anzeigen zu lassen - kann aber auch über z.B. Explorer und Doppelklick solch ein File öffnen.

Werden jetzt Files vom nächsten Patienten geladen - dann muß das lokale Verzeichnis zuerst geleert werden. Wird z.B. noch ein pdf-File vom vorherigen Patienten angezeigt, dann scheitern alle Löschbemühungen.

Da ich nicht weiß, ob mein Programm die Fenster mit ShellExecuteEx geöffnet hat oder der Arzt via Explorer usw. dies getan hat funktioniert die Abfrage in GetWindows nach der nicht zu löschenden Datei am besten. Außerdem will ich z.B. Adobe auch nicht komplett abschießen, da der Arzt eventuell eine Publikation über ein bestimmtes Krankheitsbild geöffnet hat und die Files mit diesen Ergebnissen vergleichen will.

Ich danke Euch allen für Eure Mühe und auch für die Codebeispiele, die mir sehr geholfen haben.

Viele Grüße aus Augsburg
Ines

OldGrumpy 15. Okt 2010 07:29

AW: Fremdes Programm beenden - Handle anhand Filename ermitteln
 
Manchmal kann es auch wirklich sinnvoll sein, dem User nicht seinen Brei direkt in den Mund zu schaufeln sondern ihn auch mal kauen zu lassen. Mit anderen Worten: Wenn der User zum nächsten Patienten will und noch Dateien offen sind, soll der User die offenen Fenster gefälligst selber zumachen, also entsprechende Meldung raus und weiter gehts. Klar ist der Computer nicht die Kernkompetenz des Arztes, aber wenn das Programm erst gar keine Intelligenz beim User voraussetzen kann, wozu isses dann für Ärzte? :mrgreen: Hoffentlich ist der Bediener nicht Chirurg und vergisst auch öfter mal was im Patienten... :mrgreen:

Sir Rufo 15. Okt 2010 07:54

AW: Fremdes Programm beenden - Handle anhand Filename ermitteln
 
Das hängt vom eigenen Anspruch und der eigenen Sichtweise ab.

Wenn es möglich wäre und in sich logisch schlüssig (und die Usability erhöht) warum nicht realisieren.

So Dialoge wie "Um Fortzufahren müssen Sie zwingend xyz.pdf schließen"
Ja ich will fortfahren (diese Absicht habe ich kundgetan) und der Rechner weiß wie man den Zustand herstellt, dass ich fortfahren kann, dann soll der das gefälligst auch machen.

Es ist eine Gratwanderung zwischen Unterstützung und Bevormundung.

Wichtigstes Kriterium ist aber als Kernfrage "Wie schaffe ich es, dass der Anwender in seinem Arbeitsfluss nicht gestört wird?"
Es geht niemals um ein paar Klicks, sondern dass der Anwender in dem Moment eine andere Aufmerksamkeit hat wo diese (vermeidbaren) Klicks selbigen aus dieser Aufmerksamkeit reißen und eine völlig andere aufzwingen.

Will ich mit meiner Software den User unterstützen oder (aus reiner Bequemlichkeit, Faulheit, Unwissenheit, Ignoranz) behindern. Da muss jetzt jeder selber entscheiden wo er da stehen möchte.

Ich habe meinen Anspruch definiert (manche halten mich für pingelig :mrgreen: ) und prüfe bei jeder Programmierung (die zum User rausgeht) ob ich meinem Anspruch noch gerecht werde.
Ergänzend sollte ich noch sagen, dass ich in der glücklichen Lage bin den Zeitrahmen für ein Projekt mitgestalten zu dürfen und die Mitwirkenden (am Zeitrahmen) lieber ein gutes als ein schnelles Release haben möchten.

Denn der Anspruch bleibt auf der Strecke wenn die Zeit zu knapp ist.

PS War das jetzt schon das Wort zum Sonntag? :mrgreen:

Ines 15. Okt 2010 08:30

AW: Fremdes Programm beenden - Handle anhand Filename ermitteln
 
Hallo,

Zitat:

Zitat von OldGrumpy (Beitrag 1055890)
Manchmal kann es auch wirklich sinnvoll sein, dem User nicht seinen Brei direkt in den Mund zu schaufeln sondern ihn auch mal kauen zu lassen.

Ich will meine Ärzte hier wirklich nicht verwöhnen (so groß ist die Liebe zwischen uns wirklich nicht :wall:). Aber mit dem Löschen mache ich mir das Leben leichter, da ich aus mehreren Directories am Server alle Daten zusammensuchen muß. Verlange ich nun vom Nutzer, daß er selbständig ein Fenster schließt, dann wird mein Programmablauf nicht leichter bzw. übersichtlicher.:wink:

Ihr seht, damit unterstütze ich meine eigene "Faulheit". Außerdem wird der Arzt im Programm auf die "Gefahr" des Schließen eines Fensters hingewiesen.
Allerdings werden hier diese Hinweistexte prinzipiell ignoriert.

Zitat:

Zitat von OldGrumpy (Beitrag 1055890)
Hoffentlich ist der Bediener nicht Chirurg und vergisst auch öfter mal was im Patienten... :mrgreen:

Nein - aber vielleicht würden Chirurgen meine Arbeit mehr schätzen.

Liebe Grüße
Ines

alf27 6. Feb 2011 11:31

AW: Fremdes Programm beenden - Handle anhand Filename ermitteln
 
Hi Ines,

Schau mal an

http://www.swissdelphicenter.ch/de/showcode.php?id=327

vorbei.

Gruss

Alf

Dezipaitor 6. Feb 2011 11:43

AW: Fremdes Programm beenden - Handle anhand Filename ermitteln
 
Das hört sich aber nach dem hier an:
http://www.remkoweijnen.nl/blog/2011...ed-the-origin/

Ist eine viel bessere Lösung als Dateihandles einfach so freizugeben.

sx2008 6. Feb 2011 12:21

AW: Fremdes Programm beenden - Handle anhand Filename ermitteln
 
Zitat:

Zitat von Ines (Beitrag 1055886)
Werden jetzt Files vom nächsten Patienten geladen - dann muß das lokale Verzeichnis zuerst geleert werden.

Warum diese technisch unnötige Einschränkung?
Vielleicht möchte der Dottore die Dokumente zweier Krebspatienten vergleichen; wer weiss...
siehe Sir Rufo's:
Zitat:

Wichtigstes Kriterium ist aber als Kernfrage "Wie schaffe ich es, dass der Anwender in seinem Arbeitsfluss nicht gestört wird?"
Da es im lokalen Verzeichnis zu Kollisionen von Dateinamen kommen könnte, braucht man doch nur für jeden Patienten ein Unterverzeichnis (evtl. Name=Patientennr) anzulegen.
Und zum Programmende werden alle temporären Verzeichnisse aus Datenschutzgründen wieder gelöscht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:56 Uhr.
Seite 2 von 2     12   

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