Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
Delphi 10.2 Tokyo Professional
|
AW: Wieder generische Functions results
15. Mai 2019, 12:59
So kompilierts:
Edit: Oh du hast auch grad gepostet..
Ohne RTTI fällt mir auch keine Lösung ein...
Ist auch RTTI aber mit weniger overhead vielleicht?
Delphi-Quellcode:
uses
TypInfo;
guid := PTypeInfo(TypeInfo(T))^.TypeData^.GUID;
Delphi-Quellcode:
uses
System.RTTI;
class function TForm3.GetClient<T>(Addr: string): T;
var RIO: THTTPRIO;
rtti: TRttiContext;
intfType: TRttiInterfaceType;
begin
Result := nil;
RIO := nil;
try
rtti := TRttiContext.Create;
try
intfType := rtti.GetType(TypeInfo(T)) as TRttiInterfaceType;
if Supports(RIO, intfType.GUID, Result) then
RIO.URL := Addr
else
Result := nil;
finally
rtti.Free;
end;
finally
if (Result = nil) then
RIO.Free;
end;
end;
Michael "Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
Geändert von Neutral General (15. Mai 2019 um 13:04 Uhr)
|