![]() |
TComPort / Disconnect ... Probleme
Hallo alle...
ich versteh´s nicht und hoffe auf Ideen. vereinfachter Aufbau: procedure ComConnect; // enthällt Comport.Connected:= True; procedure ComDisconnect; // enthällt ComPort.Connected:= False; Problem: - ComConnect funktioniert überall. - ComDisconnect funktioniert in einer z.B. Click Procedure - ComDisconnect funktioniert nicht beim Aufruf in einem eigenen Event und bleibt bei "// <-- hier" hängen...
Delphi-Quellcode:
... in einer Art Endlosschleife hängen.
procedure TCustomComPort.Close;
begin // if already closed, do nothing if FConnected and not (csDesigning in ComponentState) then begin CallBeforeClose; // abort all pending operations AbortAllAsync; // stop monitoring for events if FThreadCreated then begin FEventThread.Free; // <-- hier FThreadCreated := False; if FSyncMethod = smWindowSync then {$IFDEF DELPHI_6_OR_HIGHER} {$WARN SYMBOL_DEPRECATED OFF} {$ENDIF} DeallocateHWnd(FWindow); {$IFDEF DELPHI_6_OR_HIGHER} {$WARN SYMBOL_DEPRECATED ON} {$ENDIF} end; // close port DestroyHandle; FConnected := False; // port is closed, do any additional finalization CallAfterClose; end; end; Ich bin ratlos und weiß nicht wie ich es besser beschreiben soll... :roll: Danke für Info´s Hintergrund: Im Fehlerfalle (z.B. Timeout... eigenes Event) soll der ComPort geschlossen werden. --> hängt Beim Disconnect über einen Menüpunkt z.B. wird der ComPort ordnungsgemäß getrennt. ! der Aufruf ist in beiden Fällen identisch Hinweis: Der betroffene ComPort liefert als Antwort das Kommando zurück obwohl nix physikalisch angeschlossen ist. Merkwürden läßt grüßen. :roll: Nachtrag: Ich wollte grad mal in der Systemsteuerung schauen ob der ComPort konfigurierbar ist. Tja, da ist keiner gelistet und mein Laptop hat auch keinen :shock: Ich dachte immer daß der ComPort, der angeboten wird, virtuell ist. Wo nimmt Vista den Port, welcher sich öffnen läßt, her ? Ich geh dann mal ne Buddel Roten aufmachen... da kann man wenigstens nix falsch machen. :wall: Nachtrag1: Der ComPort ist einem eingebautem Modem zugeordnet...wußte gar nicht daß es sowas noch gibt :oops: |
AW: TComPort / Disconnect ... Probleme
Also wenn ich bei mir TComport öffne und der Port mit der eingestellten Nummer ist belegt oder nicht existent, dann bekomme ich eine Exception, und der Port bleibt zu. Ist so mit Win XP und Win 7 (64).
Ist es diese Komponente ? ComPort Library version 4.10 for Delphi 3, 4, 5, 6, 7, 2005, 2006,XE and C++ Builder 3, 4, 5, 6 by Dejan Crnila 1998-2002 maintained by Lars Dybdahl and Paul Doland maintained by Brian Gochnauer Nov 2010land Ralf |
AW: TComPort / Disconnect ... Probleme
Danke.
Zitat:
|
AW: TComPort / Disconnect ... Probleme
Ein Comport, wenn in der Systemsteuerung gelistet und nicht von einem anderen Programm belegt ist lässt sich immer öffnen, auch wenn nichts angeschlossen ist. Ich würde in die Sache keine Energie investieren, lohnt sich nicht. Einfach offenlassen, wenn das Programm beendet wird wir er sowieso geschlossen. Lieber das konkrete Gerät z.B. über einen USB-Adapter anschließen und damit probieren.
|
AW: TComPort / Disconnect ... Probleme
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz