Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Странности SetLength


mfender ©   (2013-08-16 10:10:00) 


{ Вызов процедуры }
procedure TfrmGridSites.GridInit(DataSet: TDataSet);
begin
 uFormGeometry.FillListViewFromDataSet(DataSet, TListView(lvSites), []);
end;

{ Собственно сама процедура }
procedure FillListViewFromDataSet(ADataSet: TDataSet; ListView: TListView;
 Flds: array of string);
begin
.......................
 if Length(Flds) <= 0 then
 begin

{ Вот здесь происходит странное:
компилятор ругается на Flds и сообщает
[DCC Error] uFormGeometry.pas(342): E2008 Incompatible types }

   SetLength(Flds, ADataSet.FieldCount);
.......................


Как это можно понимать?


брат Птибурдукова   (2013-08-16 11:51:00) [1]

Задача-то какая? А то лечение симптомов редко приводит к излечению.


mfender   (2013-08-16 10:47:00) [2]

Понял, спасибо.

Немного усложнилось. Но оно и к лучшему. Сделаю уже конкретно объект, где сохраню ширину, выравнивание, титул и соответствующее поле из TDataSet, и буду передавать коллекцию таких объектов. Ну и хранить её в INI в виде JSON.


RWolf   (2013-08-16 10:24:00) [3]


> Как это можно понимать?

это открытый массив, а не динамический.


Ega23   (2013-08-16 10:19:00) [4]


> А это что за хрень?


Массив строк. Пустой. А что не так?


Jeer   (2013-08-16 10:18:00) [5]

Type
TFlds = array of string;

var
 flds: TFlds;

procedure FillListViewFromDataSet(Flds: TFlds);
begin
..
   SetLength(flds,10);
..
end;

А это что за хрень?
uFormGeometry.FillListViewFromDataSet(DataSet, TListView(lvSites), []);


Наверх

Титульная страница Поиск, карта сайта Написать письмо