Podaję wszelkie szczegóły
type
TacFrame = class of TFrame
Tablica jest jednoelementowa ponieważ to tylko przykład, elementów będzie znacznie więcej.
Gdy podczas debugowania najadę kursorem na FrameClasses2 delphi pokazuje mi zawartość tablicy:
FrameClasses2 (TacFrame($12D62F8))
[0] TacFrame($12D62F8)
W przypadku FrameClasses ( array[0..0] of TacFrame ... )
Otrzymuję:
FrameClasses (TacFrame($12D6230))
[0] TacFrame($12D6230)
Czyli tablice posiadają po jednym elemencie. Jednak zauważcie że mają różny adres w pamięci co jest rzeczą raczej nie możliwą gdyż powinny się odwoływać do typu TFrame_Contractors.
Program wywala się na poniższym kodzie:
FrameClasses2[0].Create(Application); //AV
FrameClasses[0].Create(Application); //Działa
Program zatrzymuje się w poniższym modulepo wywaleniu AV
VCL.Controls
procedure TControl.SetStyleElements(const Value: TStyleElements);
begin
if FStyleElements <> Value then
begin
FStyleElements := Value; //Tutaj dokładnie
if not (csDesigning in ComponentState) and TStyleManager.IsCustomStyleActive then
UpdateStyleElements;
end;
end;