AGB  ·  Datenschutz  ·  Impressum  







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

TComPort / Disconnect ... Probleme

Ein Thema von haentschman · begonnen am 23. Jun 2012 · letzter Beitrag vom 23. Jun 2012
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#1

TComPort / Disconnect ... Probleme

  Alt 23. Jun 2012, 17:54
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:
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;
... in einer Art Endlosschleife hängen.

Ich bin ratlos und weiß nicht wie ich es besser beschreiben soll...

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.

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 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.

Nachtrag1:
Der ComPort ist einem eingebautem Modem zugeordnet...wußte gar nicht daß es sowas noch gibt

Geändert von haentschman (23. Jun 2012 um 18:50 Uhr)
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
536 Beiträge
 
Delphi 12 Athens
 
#2

AW: TComPort / Disconnect ... Probleme

  Alt 23. Jun 2012, 18:52
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
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: TComPort / Disconnect ... Probleme

  Alt 23. Jun 2012, 19:00
Danke.
Zitat:
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.
...so sollte es sein. Ist aber nicht. Ich kann den virtuellen Port an dem das Modem hängt problemlos öffnen und mit einem "Klick" schließen. Nur in einem eigenen Event hängt sich das Schließen auf. Das wird schon mit der dämlichen Konfiguration zu tun haben. Ist leider der einzige verfügbare am Laptop...
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
536 Beiträge
 
Delphi 12 Athens
 
#4

AW: TComPort / Disconnect ... Probleme

  Alt 23. Jun 2012, 19:11
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.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: TComPort / Disconnect ... Probleme

  Alt 23. Jun 2012, 19:20
Zitat:
Ein Comport, wenn in der Systemsteuerung gelistet
... die Kategorie für die ComPorts existiert im Gerätemanager nicht. Deswegen ist der ComPort auch nicht gelistet. Den bringt das Modem mit. Hast wahrscheinlich Recht... nicht mehr Zeit zu investieren.
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:12 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