Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: ios App:Komponente freigeben.

  Alt 4. Nov 2015, 21:41
Hier gibt es einen dangling pointer.

Wenn du von aussen die FDPFView Instanz per DisposeOf entsorgst, dann sollte die TDPFUIView auch die Referenz auf FDPFView auf nil setzen.

Aber genau das macht man dort wohl nicht -> Fehler in der Umsetzung.

Ein erster Workaround könnte so aussehen (nach einem kurzen Überfliegen der Unit)
Delphi-Quellcode:
destructor TDPFUIView.Destroy;
begin
{$IFDEF IOS}
if Assigned( FDPFView ) and not FDPFView.Disposed then
  FDPFView.DisposeOf;
//FUIControl := nil;
{$ENDIF}
inherited;
end;
Eine richtige Lösung ist es nicht, da müsste man für die Instanz FDPFView eine Delphi-Referenz durchsuchenTComponent.FreeNotification registrieren und wenn die dann kommt, die Instanz-Variable auf nil setzen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 4. Nov 2015 um 21:51 Uhr)
  Mit Zitat antworten Zitat