Hallo Muetze1,
vielen Dank für Deine Antwort. Das von Dir verlinkte Beispiel kannte ich schon und hatte das in meine Programm eingebaut.
Inzwischen bin ich schon ein kleines Stück weiter. Ich hatte geglaubt, dass die Routinen Formcreate oder Formactivate automatisch angesprungen werden, was aber nicht der Fall ist. Wenn ich das entsprechende Ereignis in der Form1 verlinke, dann wird die Schnittstelle tatsächlich aktiviert. In der Folgezeit wird auch das Ereignis "TForm1.SerialPortNGRxClusterEvent" aufgerufen.
Ich habe mich dann mit dem Problem herumgeschlagen, warum immer ein "NextClusterCCError" mit 0 ausgegeben wird (Originalbeispiel von der SerialNG). Wird dort der Vergleich auf >0
Delphi-Quellcode:
if TSerialPortNG(Sender).NextClusterSize >= 0 then // Data available?
begin
fehlercode:= TSerialPortNG (Sender).NextClusterCCError;
if fehlercode > 0 then // Error during receiveing?
COMStr:= '9999999';
else
COMStr:= TSerialPortNG(Sender).ReadNextClusterAsString;
end;
geändert (was logisch erscheint), so kann nach der Beseitigung eines weiteren von mir gemachten Fehlers die serielle Schnittstelle problemlos ausgelesen werden.
Ich frage mich nur, warum das Programm SerialNGSpy funktioniert. Ich vermute, das liegt daran, dass dort 2 Schnittstellen abgefragt werden, und somit der Fehler kompensiert wird.
Ich danke für Eure Hilfe.
Peter