Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wieder generische Functions results

  Alt 14. Mai 2019, 15:19
Das hier compiliert
Delphi-Quellcode:
interface
...
Type
....

Class Function GetClient<T: IInterface>(Addr: string):T;
Delphi-Quellcode:
Class Function TWSClient.GetClient<T>(Addr: string):T;
var RIO: THTTPRIO;
begin
  Result := nil;
  RIO := GetLocalRio;
  try
    //Result := (RIO as T);//[dcc32 Fehler] E2015 Operator ist auf diesen Operandentyp nicht anwendbar
    Result := T(RIO);//Das geht
    RIO.URL := Addr;
  finally
    if (Result = nil) then // Das geht dann natürlich auch nicht
      RIO.Free;
  end;
End;
Wie wirkt sich hardcast vs softcast auf Android, Apple und windows aus wenn man eine Klasse hart in ein Interface castet?
EDIT:
hard Cast arbeitet nicht vernünftig mit der Referenzzählung zusammen...das Objekt ist einfach weg wenn man es so macht...
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (14. Mai 2019 um 18:18 Uhr)
  Mit Zitat antworten Zitat