Hallo Oki!!
Danke für Deine rasche Antwort....so in die Richtung hab ich mir das auch gedacht...
Ich hab mal sowas in die Richtung ausprobiert:
Delphi-Quellcode:
procedure TComPorts.ComPortTest;
var
lStatusOK : Boolean;
lPortNr : Byte;
lMaxPortNr : Byte;
begin
lStatusOK := true;
lPortNr := 0;
lMaxPortNr := 128;
repeat
try
CloseAccel;
inc(lPortNr);
AccelComPort.ComNumber := lPortNr;
InitAccel;
StartAccel;
except
end;
until (lPortNr = lMaxPortNr);
end;
Kurz zur Erklärung:
Ich starte im repeat-Teil mit
Com-Nr: 1 --> im Init-Teil wird nur der Port geöffnet und bei StartAccel wird ein 'G' an den Port geschickt, der wenn der Port verfügbar ist ein OnTriggerAvail-Event auslöst....dort hab ich mal zu Testzwecken einen Breakpoint gesetzt. Dort soll später dann mal eine Abbruchbedingung eingebaut werden, wenn es der richtige Port ist.
Ganz interessieren würde mich, wie man in der repeat-Schleife so einen Timeout abwarten kann, denn auch wenn es der richtige Port ist, der Event wird erst zeitverzögert ausgelöst. In diesem Zeitraum muß ich die repeat-Schleife allerdings anhalten, denn sonst bin ich schon längst bei einer weit höheren Port-Nr, als jener die ursprünglich den Event ausgelöst hat!!
Bitte nochmals um geniale Ideen....
LG
Thomas