AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Exception während RS232 Datenempfang
Thema durchsuchen
Ansicht
Themen-Optionen

Exception während RS232 Datenempfang

Ein Thema von akuk · begonnen am 12. Mär 2020 · letzter Beitrag vom 26. Mär 2020
Antwort Antwort
Rollo62

Registriert seit: 15. Mär 2007
4.176 Beiträge
 
Delphi 12 Athens
 
#1

AW: Exception während RS232 Datenempfang

  Alt 19. Mär 2020, 06:23
Nur mal kurz drübergeschaut, ich würde versuchen das viel kleiner, modularer auseinander zu ziehen.

Hier ein paar Ideen:

in OptiNumericComm:
ich würde immer versuchen die Länge von dem eigentlichen Objekt (hier comport) zu bekommen, nicht von woanders.
Sonst könnte das schnell um die Ohren fliegen wenn Daten nicht vorhanden.
Delphi-Quellcode:
      for i:=1 to 8 do
         Result[i] := comport.GetByte; // was macht denn getByte wenn keine Daten mehr da sind ?
an zig anderen Stellen:
ich würde versuchen Enter - Leave in try - except -finally zu kapseln, um besser debuggen zu können
Delphi-Quellcode:
procedure
begin
  InitializeCriticalSection(EmpfangCS);
   try
      try
....
      except
        on E : Exception do
        begin
        // wenn hier ein Dummy-Code steht könnte man die Exception debuggen, und damit wissen wo die herkommt
        end;

    finally
        LeaveCriticalSection(EmpfangCS);
    end;
end;
  Mit Zitat antworten Zitat
akuk

Registriert seit: 8. Mär 2020
Ort: Wald, Zürich Oberland
51 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Exception während RS232 Datenempfang

  Alt 19. Mär 2020, 07:47
Hallo Rollo62
Ja da hast Du Recht, es is nicht immer konsequent, einmal mit recbyte andermal mit GetByte.Werde ich korrigieren.
Das die CNC Daten richtig sendet darauf kann man sich verlassen,es ist speziel ein Mikrokontroller in der CNC dafür da.

Das andere mit leave in try werde ich versuchen. Das muss ich in allen relevanten Methoden machen, oder ?
Vielen Dank für die Hilfe.
Anton
Anton Kurka
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.782 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Exception während RS232 Datenempfang

  Alt 19. Mär 2020, 08:20
Hallo Anton,

habe mal angefangen das in kleinere Methoden zu packen.
Vielleicht magst Du es Dir mal anschauen.

Grüße
Klaus
Angehängte Dateien
Dateityp: pas OptiNumericComm.pas (11,6 KB, 2x aufgerufen)
Klaus

Geändert von Klaus01 (19. Mär 2020 um 19:38 Uhr) Grund: Datei neu hochgeladen
  Mit Zitat antworten Zitat
akuk

Registriert seit: 8. Mär 2020
Ort: Wald, Zürich Oberland
51 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Exception während RS232 Datenempfang

  Alt 19. Mär 2020, 08:57
Hallo Klaus
Vielen Dank, das ist sehr lieb von Dir.
Ist der Grund für das Aufteilen
das man evt. Exception besser abfangen kann ?
Heute Nachmitag kann ich es schnell probieren.
Gruss
Anton
Anton Kurka
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.782 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Exception während RS232 Datenempfang

  Alt 19. Mär 2020, 09:09
Hallo Anton,

auch das - zusätzlich wird die receiveMessage Funktion lesbarer und übersichtlicher.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
akuk

Registriert seit: 8. Mär 2020
Ort: Wald, Zürich Oberland
51 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Exception während RS232 Datenempfang

  Alt 19. Mär 2020, 14:38
Hallo Klaus
Leider kein Erfolg, es ist sicher nicht im OptiNumericCom, es ist immer die
gleiche System Exception => call FreeMem, ungültige Zeigeroperation.
Gruss
Anton
Anton Kurka
  Mit Zitat antworten Zitat
akuk

Registriert seit: 8. Mär 2020
Ort: Wald, Zürich Oberland
51 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: Exception während RS232 Datenempfang

  Alt 19. Mär 2020, 15:53
Hallo Klaus
Da ich vermute den Fehler in Unit F_MAN, habe ich versucht
Try Except dort implementieren. siehe Beilage.
Es gibt aber ein Compilationsfehler der nicht auffinbar ist.
Was mache ich falsch ?
Gruss
Anton
Angehängte Dateien
Dateityp: pdf Fehlerim F_MAN.pdf (146,3 KB, 1x aufgerufen)
Dateityp: pas F_MAN.pas (7,2 KB, 1x aufgerufen)
Anton Kurka
  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 04:22 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