Проясните ситуацию с динамичеким массивом.

Страдалецъ
Дата: 22.06.2009 14:13:28
Вот как обращаться к элементу AData[0,0,0], если я массив создаю так:
Var
    AData: Array of Array of Variant;
begin
 SetLength(AData, 6);
 SetLength(AData[0], 2);
 AData[0,0] := VarArrayOf(['','']);
end.
RENaissance
Дата: 22.06.2009 14:20:07

Страдалецъ

Вот как обращаться к элементу AData[0,0,0]

Никак, т.к. массив - двумерный.

Posted via ActualForum NNTP Server 1.4

Страдалецъ
Дата: 22.06.2009 14:23:38
И как сие противоречие тогда понимать? С одной стороны Дельфи строгий язык и требует четкого описания, с другой стороны я такую бяку сделал которая абсолютно нормально компилятором обрабатывается и явно нарушает данное правило или не нарушает?
RENaissance
Дата: 22.06.2009 14:28:21

Страдалецъ

И как сие противоречие тогда понимать? С одной стороны Дельфи строгий
язык и требует четкого описания, с другой стороны я такую бяку сделал
которая абсолютно нормально компилятором обрабатывается и явно нарушает
данное правило или не нарушает?

Это все из-за того, что не читаете справку. Поэтому открываем справку и читаем до полного просветления про Variant Types.

Posted via ActualForum NNTP Server 1.4

Sevolod
Дата: 23.06.2009 13:03:05
Ну. Так можно получить первый элемент этого массива.


PVariant(PChar(TVarData(AData[0][0]).VArray^.Data)+16)^
_Vasilisk_
Дата: 23.06.2009 23:00:13
AData[0,0][0]

С уважением, Vasilisk