AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TCriticalSection.Enter - seltsames Verhalten
Thema durchsuchen
Ansicht
Themen-Optionen

TCriticalSection.Enter - seltsames Verhalten

Ein Thema von grl · begonnen am 23. Jul 2017 · letzter Beitrag vom 23. Jul 2017
Antwort Antwort
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#1

AW: TCriticalSection.Enter - seltsames Verhalten

  Alt 23. Jul 2017, 15:49
Der Grund ist sehr einfach:
In Delphi 7 hatte TCriticalSection noch kein TryEnter, mittlerweile in neueren Versionen aber schon.

Deine Variable, in der du die Instanz gespeichert hast (hier TestCS), ist sicher vom Typ TCriticalSection. Deshalb wird in neueren Versionen die Methode TCriticalSection.TryEnter statt deiner Implementierung aufgerufen. Denn die Methode ist ja nicht überschrieben, weshalb deine Methode nur aufgerufen würde, wenn deine Variable auch deine abgeleitete Klasse als Typ hätte.
Naja....

Das Projekt wird immer noch mit Delphi 7 kompiliert wie in der Information zum Post angegeben (wie nennt man das, was man beim ersten Post angibt?)

Und nein, die Variable ist nicht TCriticalSection direkt, sondern vom Typ meiner Klasse - steht auch im Code (und ja, da ist ein = zuviel, Typo beim Übertragen hierher):
Im Programm gibts wird sie dann so eingesetzt:
Delphi-Quellcode:
var TestCS:=TTestCriticalSection;
//[...]
if not TestCS.TryEnter then begin
  Log('Could not enter CS - Error');
  //[ErrorHandling]
end;
Ist der Grund dann immer noch einfach? Mir erschließt er sich nämlich nicht...

Luggi
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.055 Beiträge
 
Delphi 12 Athens
 
#2

AW: TCriticalSection.Enter - seltsames Verhalten

  Alt 23. Jul 2017, 15:55
Dann hatte ich das falsch verstanden.

Dann bleibt wohl nur in dem TryEnter selbst ein Log hinzuzufügen. Eine Idee habe ich bei dem Quelltext dann allerdings nicht wie das passieren kann.

Außer dem Standard für wirklich unerklärliche Probleme: Speicher überschrieben, Klasse schon freigegeben, ...
Aber ansonsten gibt es darauf ja keine uns bekannten Hinweise, insofern...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
grl

Registriert seit: 5. Feb 2007
174 Beiträge
 
FreePascal / Lazarus
 
#3

AW: TCriticalSection.Enter - seltsames Verhalten

  Alt 23. Jul 2017, 16:09
Außer dem Standard für wirklich unerklärliche Probleme: Speicher überschrieben, Klasse schon freigegeben, ...
Aber ansonsten gibt es darauf ja keine uns bekannten Hinweise, insofern...
Ich bin ja schon froh, daß ich nicht der einzige bin, der bei diesen Ursachen landet...
Ich zweifle nämlich schon heftig an mir selbst...

Danke!
Luggi
  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:41 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