Gürks,
OLE-Geschlumpfe. Okay, da habe ich etwas zu oberflächlich gelesen. Was aber von meiner Aussage oben bleibt ist, dass sie zutrifft, wenn man ohne "magische" Resourcen hantiert.
Das hat gar nichts mit
OLE zu tun, sondern damit wie Delphi mit Variants umgeht. Der folgende Code ist also durchaus korrekt und ungefährlich:
Delphi-Quellcode:
var
A: array of Integer;
V: Variant;
I: Integer;
begin
V := VarArrayCreate([0,9], varInteger);
for I := 0 to 9 do
V[I] := I;
A := V;
for I := 0 to 9 do
Assert(V[I] = I);
VarClear(V);
V := A;
for I := 0 to 9 do
Assert(V[I] = I);
end;