Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.016 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Auf legalen zugriff prüfen vor AV oder SegFault

  Alt 8. Okt 2019, 13:54
Speziell auf SOAP und diese RIO Klassen bezogen, glaub ich eher, du benutzt das falsch. Denn diese Klassen sind eigentlich dafür da, sie über ein von ihnen dynamisch implementieres Interface (Stichwort: TVirtualInterface) anzusprechen. Und dann greift Referenzzählung von Interfaces.

Zu der Problematik allgemein: Ich hab vor längerer Zeit Weak References in Spring eingebaut und mit diesen kann man auch einfach implementieren, dass man automatisch ObjektReferenzen auf nil setzen lässt, wenn das entsprechende Objekt freigegeben wird, so dass sie dann nicht mehr auf ungültigen Speicher zeigen (Stichwort: dangling pointer)

Theoretisch kann man sogar den in der RTL implementieren Mechanismus benutzen, allerdings sind alle notwendigen Routinen dafür (RegisterWeakRef und UnregisterWeakRef in System.pas) nicht von außen zugänglich.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat