[
OT]
Code:
aWerkzeug := TWerkzeug(converter.XMLToVirtualPersistent(IBQWerkzeugliste.FieldByName('DATA').AsString));;
Also die Zeile sieht in meinen Augen nicht richtig aus.
TWerkzeug
ist bestimmt eine Klasse. Und das
AsString
liefert eine String. Da fehlt glaube ich ein
.Create
.
Ohne jetzt den Code durchgeschaut zu haben, das kann durchaus so passen, wie es ursprünglich geschrieben wurde.
Du gehst zwar vollkommen richtig von der Syntax
aWerkzeug := TWerkzeug.Create(Parameter);
aus, der also ein neues Objekt vom Typ TWerkzeug erzeugt und die Referenz darauf in aWerkzeug ablegt. In diesem Falle würde wirklich ein .Create fehlen.
In diesem Fall dürfte es sich aber eher um einen "harten Cast" handeln, d.h. das, was
converter.[...].AsString)
zurückliefert soll so interpretiert werden, als ob es vom Typ TWerkzeug ist. Mit anderen Worten also eine "harte" Umwandlung von einem Typ in einen anderen.
DP: Typecast or not?
[/
OT]