Delphi-Quellcode:
type
TMyClass = class
procedure Test<typ>(S: typ);
end;
procedure TMyClass.Test<typ>(S: typ);
var S2: String;
begin
S2 := S; <<<
end;
Zitat:
[DCC Fehler] Unit4.pas(32): E2010 Inkompatible Typen: 'string' und 'typ'
Wie kann ich jetzt innerhalv der Klasse den "typ" kompatibel zu String bekommen?
Man kann zwar z.B. so
procedure Test<typ: class>(S: typ);
sagen, daß es irgendeine Klasse sein wird,
aber wie kann man es zum String kompatibel machen?
(AnsiString, RawByteString, UnicodeString, String)
Ich wollte die Generics benutzen, um einige "ähnliche" Funktionen zu kombinieren.
Wobei sich dort nur ein paar Parameter so unterscheiden, daß sie einmal
ANSI und dann auch mal als
Unicode vorhanden sein können.
Da es einige Funktionen mit bis zu 3 String-Parametern gibt und ich absolut
nicht die automatischen Stringumwandlungen, seitens Delphi, gebrauchen kann, gibt es da also öfters mal bis zu 3^3 = 9 Funktionen, welche alle fast den selben Inhalt besitzen.