Forum: Object-Pascal / Delphi-Language
by TiGü,
12. Mai 2014
Ja, das muss man für spätere Leser noch betonen:,
Das funktioniert nur für Objekte, die neben dem Haupttyp nur noch ein weiteres Interface unterstützen.
Forum: Object-Pascal / Delphi-Language
by TiGü,
9. Mai 2014
Okay, vielen lieben Dank an alle.
Ich wollte vor allen sichergehen, dass ich nicht irgendetwas übersehe und die function GetGUIDFromInterfaceInstanceWithMagic() einfach nur nicht finde.
Die Erklärung von Stevie ist einleuchtend.
Falls jemand in Zukunft ein ähnliches Problem hat, hier meine entgültige Lösung:
const
MyDriveInterfaces : array of TGUID = (SID_CAR, SID_TRUCK, SID_MOPED);
Forum: Object-Pascal / Delphi-Language
by TiGü,
8. Mai 2014
Aber ist das nicht das Gleiche? :wiejetzt:
Also um bei den Beispiel mit den Fahrzeugen zu bleiben, ich weiß das die C++Klassen immer das ICanDrive implementieren.
Zusätzlich dann noch eins, um ihre wahre Funktion zu definieren.
Nie aber implementiert eine dieser C++-Klassen gleichzeitig IAmACar und IAmATruck.
class Car : public ICanDrive, public IAmACar
Forum: Object-Pascal / Delphi-Language
by TiGü,
8. Mai 2014
Nachtrag:
Beim Schreiben des vorigen Beitrages ist mir diese Lösung eingefallen:
const
MyDriveInterfaces : array of TGUID = (SID_CAR, SID_TRUCK, SID_MOPED);
function TMyList.GetInterfaceGUID(const AInterfaceInstance : ICanDrive) : TGUID;
var
InterfaceGUID: TGUID;
begin
for InterfaceGUID in MyDriveInterfaces do