Announcement

Collapse
No announcement yet.

Exception bei public string

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Exception bei public string

    Hallo,

    eine Exception (Zugriffverletzung auf Adresse xxxx) erhalte ich zur Laufzeit, wenn ich einen String in einer Methode aus einer von TThread abgeleiteten Klasse versuche eine Konstante zuzuweisen.

    sieht so aus

    -------------------------------------------------------------------

    TSerialIO = class(TThread)

    private

    { Private-Deklarationen }

    public { Public-Deklarationen } Meldung : String; ....

    procedure TSerialIO.MyProc;

    begin ...

    DataLen := dwRead; if not ok then Meldung :='falsch!' else Meldung :='GetData ok!'; end; -----------------------------------------------------------------

    Die Exception tritt nach der Zuweisung an die Stringvariable Meldung auf.

    Auch die Deklaration von Meldung als PChar und als array of Char haben zur Exception gefuehrt (Natuerlich mit #0-Zeichen bei char)

    Seltsamerweise loest die globale Deklaration von Meldung keine Exception aus. Kann sich da jemand einen Reim drauf machen ?

    mfg Frank Ambiel

    Herrmann Gebäudeautomation GmbH
    Daimlerstrasse 15
    D-73655 Plüderhausen
    Germany

    mail: mailto:[email protected]
    web: www.herrmann-leittechnik.com

  • #2
    Hi

    Füge mal nach dem DataLen := dwRead; folgendes ein

    if Self is TSerialIO then
    .....

    Sollte dort eine Exception auftreten, wurde die Object-Instance des TSerialIO Threads schon freigeben (z.B. mit Methode Free);

    Gruß Hage

    Comment

    Working...
    X