Delphi-Quellcode:
Class Procedure Tfactory.Reg(Cl: TClass);
Begin
If Assigned(Fclassregister)
Then
Begin
Var
Info := Ptypeinfo(Cl.ClassInfo);
If Assigned(Info)
Then
Try
Var
Guid := Info^.TypeData.GUID;
Fclassregister.Reg(
Guid, Cl);
Finally
End;
End;
End;
Tfactory.Reg([taclass<
String,
String>, taclass<
String, Byte>,
taclass<
String, Integer>, taclass<Byte, Byte>]);
Hallo, ich bin eben auf ein Problem mit der eindeutigen idenzifizierung meiner registrierten Klassen gestoßen..
Bisher hab ich in einem dictionary die paare (
guid,class)registriert, wobei die
guid wie oben dargestellt erzeugt/abgefragt wurde.
Ich ging davon aus,die seien systemweit eindeutig und daher besser geeignet als irgendwelche selbst erstellten strings etc ?
nun habe ich den fall, dass ich mehrerere generische klassen registrieren - und auch wieder abfragen will, aber hier scheinen die klassen guids immer gleich zu sein? jedenfalls werden bereits bestehende registrierungen dabei vom neuen generischen typ überschrieben...
pale:
wie kann ich nun auch solche generischen klassen eindeutig zuordnen. sonst hab ich bald chaos