Serielle Schnittstelle schließen
13. Nov 2003, 17:27
Hallo!
Ich habe ein Problem, bei dem ich derzeit überhaupt nicht weiterkomme.
Folgende Situation:
Ich habe ein physikalisches Messgerät, das an die serielle Schnittstelle angeschlossen ist. Beim Start der Ausleseprozedur werden die Daten in das Programm übernommen. Soweit funktioniert das auch alles.
procedure TForm1.Trennen;
begin
CloseHandle(hComm); {hComm = Prozessname der seriellen Schnittstelle}
end;
Aber nach 20 Messungen möchte ich den Datentransfer abbrechen. Wenn ich das manuell aus dem Menü mache und meine Trennenprozedur aufrufe, funktioniert das Trennen problemlos.
Wenn ich mich nun aber entschließe, diese Trennenprozedur aus dem laufenden Programm heraus zu starten, scheitert das Schließen aus welchem Grund auch immer. Also habe ich mir überlegt mit den Befehlen
TerminateProcess(hcomm, 0);
closeHandle(hcomm);
dem Prozess den Garaus zu machen. Aber auch diesmal funktioniert es nicht.
Daher lautet die Frage: Warum kann ich aus dem Programm heraus automatisch die serielle Schnittstelle nicht schließen bzw. was mache ich falsch? Habe ich etwas vergessen?
Vielleicht kann mir hier jemand helfen!
|