AGB  ·  Datenschutz  ·  Impressum  







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

Ist Anwendung noch aktiv

Ein Thema von Kosta · begonnen am 29. Dez 2002 · letzter Beitrag vom 1. Jan 2003
Antwort Antwort
Seite 2 von 3     12 3      
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#11
  Alt 30. Dez 2002, 15:27
Moin Dietmar,

Zitat:
Abhilfe: die mitgelieferte WIN32.hlp direkt aufrufen
Sorry, aber als Abhilfe würde ich das nicht betrachten

Sieh' Dir mal an, wie gross die Datei ist, und dann vergleich das mal mit den hunderten von MB, die das komplette PSDK umfasst (auch wenn man das meist unnütze weglässt)
Ausserdem hat man dann auch die aktuellen Header Dateien, und kann sich so manche Dinge, die fehlen selber nachrüsten.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#12
  Alt 30. Dez 2002, 16:08
Hallo Christian!

So meinte ich das ja auch nicht.

Es ist doch so: wenn ich z.B. weiß, daß das Ding "GetOEMCP" heißt, kann ich das irgendwo im Source eingeben, Cursor drauf und F1 liefert mit die Erklärung - und ich kann auch den Links folgen.
Einfach F1 und im Index eingeben klappt dagegen nicht!
Weiß ich aber gar nicht, was ich brauche, kann ich nur über WIN32.hlp die Suchfunktion nutzen - die Delphi-Hilfe kennt das alles nur DIREKT aus F1.

Danke übrigens für den Tipp - werde mir das Ding mal runterladen, weil: "Django zahlt nicht im Internet, Django hat Flatrate!"

Gruß

Dietmar Brüggendiek
Dietmar Brüggendiek
  Mit Zitat antworten Zitat
Kosta

Registriert seit: 27. Dez 2002
18 Beiträge
 
Delphi 7 Enterprise
 
#13
  Alt 30. Dez 2002, 16:54
Hallo Chris
Also das sind 2 Schnittstellenprogramme beide nicht von mir.
Ich weiß aber wo sie liegen (pfad)
beide Programme haben aber leider die angewohnheit, dass sie sich immer wieder aufhängen.

mein programm soll überwachen ob beide noch laufen
sollte das eine od. andere nicht mehr reagieren soll mein Programm den Prozess abschiessen und neu starten

Kosta
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#14
  Alt 30. Dez 2002, 18:03
Moin Kosta,

da kommen wir der Sache ja schon näher

Können die beiden Programme auch initial über Dein Programm gestartet werden?
Würde ja prinzipiell Sinn machen, dass Dein Programm startet, feststellt, dass die beiden Programme nicht laufen, und diese dann startet.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Kosta

Registriert seit: 27. Dez 2002
18 Beiträge
 
Delphi 7 Enterprise
 
#15
  Alt 30. Dez 2002, 18:23
Hi Chris
Klar kann ich die Programme auch aus meinem Programm aus starten
mit WinExec(Programm1, SW_ShowNormal); und dann nochmal mit Programm2
aber was hilft mir dass wenn ich sie nicht abschießen kann ??
Kosta
  Mit Zitat antworten Zitat
Kosta

Registriert seit: 27. Dez 2002
18 Beiträge
 
Delphi 7 Enterprise
 
#16
  Alt 30. Dez 2002, 18:43
Hi Chris
Um ganz genau zu sein. Ich habe das zweifelhafte Vergnügen EDV-Bereitschaftsdienst machen zu müssen. Die beiden Programme sind mein Krankenhaus-System das HL7-Dateien für Laboraufträge an mein Labor-System schickt; und das Labor-System schickt die fertigen Befunde wieder via HL7 zurück.
Ich habe 2 Ordner HL7_IN und HL7_OUT dort werden je nach System die Dateien reingestellt. mein Programm schaut zur Zeit in beiden Ordnern nach ob dort eine Datei nicht abgeholt wurde. Wenn im jeweiligen Ordner eine Datei länger steht bekomme ich eine Mail/SMS geschickt - und dann kann ich mich ins Auto setzen und muß ins Krankenhaus fahren den Taskmanager aufrufen den stehenden Prozess beenden und neu starten.
Kosta
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#17
  Alt 30. Dez 2002, 19:36
Hallo Kosta,

vielleicht kann ich auch helfen. Ich habe mal so ein ähnliches Problem bearbeitet.
Auf einem laufenden Rechner habe ich geprüft ob ein Task läuft oder nicht. Wenn nicht habe ich ihn automatisch gestartet.
Das habe ich auch mal mit einem Neustart des Rechners verbunden.

Leider kann ich dir auf das Problem des stehenden Task auch keine bessere Antwort geben. Aber ich denke die vorherigen Vorschläge sind nicht schlecht.

Übriegens reicht für das Beenden des Task der Name föllig aus. Der Rest ist dann schon machbar.

Also wenn ich helfen kann, dann kurz melden.

Gruß Olaf
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#18
  Alt 30. Dez 2002, 19:55
Zitat von Kosta:
mit WinExec(Programm1, SW_ShowNormal);
Auf diese Funktion solltest du verzeichten. Nimm lieber ShellExecute oder noch besser CreateProcess.

Ist es möglich, dass nur deine Anwendung die beiden Programme startet. Also der Autostart von dir ausgeht und nicht von Windows (Startmenü/Autostart, Registry). Dann kannst du nämlich mit CreateProcess die Prozess- und Hauptthread-Handles festhalten und mit EnumThreadWindows() das Hauptfenster ermitteln.
  Mit Zitat antworten Zitat
Kosta

Registriert seit: 27. Dez 2002
18 Beiträge
 
Delphi 7 Enterprise
 
#19
  Alt 30. Dez 2002, 20:59
hi jbg

Leider muss ich die beiden anderen Programme im Autostart lassen - sonst meinen die beiden verantwortlichen Firmen - lieber Kosta e klar das passiert alles weil dein Programm unsere Programme startet.
erst dann wenn ich sie abgeschossen habe kann ich sie aus meinem programm starten.

Gibt es keine Routine, die mir bei übergabe des Prozessnamen sagt ob dieser noch reagiert
und eine andere Routine, die den Prozess abschießt ?

Kosta
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#20
  Alt 31. Dez 2002, 14:57
Hallo Kosta,

hier mal was zum probieren. Der Code ist aber auch nicht auf meinem Mist gewachsen.

Mit den Aufrufen in diesem Code kannst Du Dir dann deine eigene Überwachung aufbauen.

Für den Notfall schlage ich folgenden Weg vor (zur Zeit ist ja nichts besseres zur Hand)

- prüfe nach bisherigem Verfahren ob deine Textdateien nicht mehr abgeholt werden,
- wenn das zutrifft ermittel mit den mitgelieferten Methoden den betreffenden Task (durchsuche die Taskliste nach dem betreffenden Programnamen)
- danach beende den Task mit TerminateProcess
- warte einige Zeit und sehe nach ob der Process weg ist
- danach starte den Task neu mit CreateProcess

Gruß Olaf
Angehängte Dateien
Dateityp: zip Sysinf.zip (246,5 KB, 31x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 21:43 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